⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 streamdata.java

📁 java 聊天工具 包括服务器 和 客户端 类似
💻 JAVA
字号:
import java.io.* ;
import java.net.*;
import java.util.*;

class StringOperate{
	static public String arrayToString(String[] a){ //String[] to String
	int len=0,index=0;
	char[] b;
    for(int i=0;i<a.length;i++){
    	len+=a[i].length();
    }
    
    b = new char[len+a.length];
    
    for(int j=0;j<a.length;j++){
    	for(int k=0;k<a[j].length();k++){
    	   b[index] = a[j].charAt(k);
    	   index++;
    	}
    	b[index] = '\n';
    	index++;
    }
    
    String c = new String(b);
    return c;
}

    static public String[] stringToArray(String a){ // String to String[]
	String[]b;
	int num=0;
	for(int i=0;i<a.length();i++){
		if (a.charAt(i) == '\n') num++;
	}
	b = new String[num];
	
	int fromindex=0;
	for(int j=0;j<num;j++){
		b[j] = a.substring(fromindex,a.indexOf('\n',fromindex));
		fromindex = a.indexOf('\n',fromindex)+1;
	}
	return b;
    }
    
	static public String[] arrayRemoveString(String[] a,String b){
		String[] c = new String[a.length-1];
		int index=0;
	    for(int i=0;i<a.length;i++){
	    	if(a[i].equals(b)) continue;
	    	c[index] = a[i];
	    	index++;
	    }
	    return c;
	}
}

class StreamData implements Serializable{
	String fromName=null;
	String toName=null;
	
	String dataType=null;
	String fontFamily=null;
	int fontSize = 0;
	int rgb = 0;
	
	int length=0;
	byte[] bytes=null;
		
	
	public StreamData(){
	}
	
	public StreamData(String fromName,String toName,String dataType,String fontFamily,int fontSize,int rgb,byte[]bytes,int length){
		this.fromName=fromName;
		this.toName = toName;
		this.dataType = dataType;
		this.fontFamily = fontFamily;
		this.fontSize = fontSize;
		this.rgb = rgb;
		this.length = length;
		this.bytes = new byte[bytes.length];
		System.arraycopy(bytes,0,this.bytes,0,bytes.length);
	}
	
	private void writeObject(ObjectOutputStream out) throws IOException{		
		out.writeUTF(fromName);
		out.writeUTF(toName);
		out.writeUTF(dataType);
		out.writeUTF(fontFamily);
		out.writeInt(fontSize);
		out.writeInt(rgb);
		out.writeInt(length);
		for(int i=0;i<length;i++)
		out.writeByte(bytes[i]);
	}
	
	private void readObject(ObjectInputStream in) throws IOException{
		fromName = in.readUTF();
		toName = in.readUTF();
		dataType = in.readUTF();
		fontFamily = in.readUTF();
		fontSize = in.readInt();
		rgb = in.readInt();
		length = in.readInt();
		bytes = new byte[length];
		for(int i=0;i<length;i++)
		bytes[i] = in.readByte();
		
	}
	
	public String toString(){
		return " fromName:"+fromName+"\n toName:"+toName+"\n dataType"+dataType+"\n bytes:"+new String(bytes)+"\n length:"+length;
	}
	
	public String getFromName(){
		return fromName;
	}
	
	public String getToName(){
		return toName;
	}
	
	public String getDataType(){
		return dataType;
	}
	
	public String getFontFamily(){
		return fontFamily;
	}
	
	public int getFontSize(){
		return fontSize;
	}
	
	public int getRgb(){
		return rgb;
	}
	
	public byte[] getBytes(){
		return bytes;
	}
	
	public void setFromName(String fromName){
		this.fromName = fromName;
	}
	
	public void setToName(String toName){
		this.toName = toName;
	}
	
	public void setDataType(String dataType){
		this.dataType = dataType;
	}
	
	public void setFontFamily(String fontFamily){
		this.fontFamily = fontFamily;
	}
	
	public void setFontSize(int fontSize){
	    this.fontSize = fontSize;
	}
	
	public void setRgb(int rgb){
		this.rgb = rgb;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -