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();
}
}就是那个字符UTF中国有问题,求帮助。。。
1 回答
已采纳
产品经理不是经理
TA贡献481条经验 获得超143个赞
int x=dis.readInt();
Long y=dis.readLong();
String z =dis.readUTF();
读取的时候与写入的顺序不一致,所以会出现问题。把它顺序换一下就好了。
int x=dis.readInt();
String z =dis.readUTF();
Long y=dis.readLong();
添加回答
举报
0/150
提交
取消