package?fileTest;
import?java.io.DataInputStream;
import?java.io.DataOutputStream;
import?java.io.FileInputStream;
import?java.io.FileOutputStream;
import?java.io.IOException;
public?class?DataStreamTest?{
static?String?file?="E;\\fileTest\\javase.txt";
public?static?void?main(String[]args)?throws?IOException{
DataStreamTest.Data();
DataStreamTest.Datacopy();
}
??public?static?void?Data()?throws?IOException{
??DataOutputStream?dos?=new?DataOutputStream(new?FileOutputStream(file));
??dos.writeInt(55);
??dos.writeUTF("中國");
??dos.writeLong(11);
??dos.close();
??}
??public?static?void?Datacopy()?throws?IOException{
??DataInputStream?dis=new?DataInputStream(new?FileInputStream
??("E;\\fileTest\\javac.txt"));
??int?x=dis.readInt();
??Long?y=dis.readLong();
?String?z?=dis.readUTF();
??System.out.println("getInt:"?+x);
??System.out.println("getLong:"+y);
??System.out.println("getString(utf);"+z);
??dis.close();
??}
??
}就是那個(gè)字符UTF中國有問題,求幫助。。。
1 回答
已采納

產(chǎn)品經(jīng)理不是經(jīng)理
TA貢獻(xiàn)481條經(jīng)驗(yàn) 獲得超143個(gè)贊
int x=dis.readInt();
Long y=dis.readLong();
String z =dis.readUTF();
讀取的時(shí)候與寫入的順序不一致,所以會(huì)出現(xiàn)問題。把它順序換一下就好了。
int x=dis.readInt();
String z =dis.readUTF();
Long y=dis.readLong();
添加回答
舉報(bào)
0/150
提交
取消