请问本节中以utf-16be格式write进去的怎么read出来呢
dos.writeChars("中国");//以utf-16be格式写进文件
read中有readUTF();方法可以直接读utf-8编码格式,请问上述的utf-16be或者其他的格式又该怎么读出来呢?谢谢!
dos.writeChars("中国");//以utf-16be格式写进文件
read中有readUTF();方法可以直接读utf-8编码格式,请问上述的utf-16be或者其他的格式又该怎么读出来呢?谢谢!
2016-12-17
public static void main(String[] args) throws IOException {
// TODO 自动生成的方法存根
String file="demo/dos.txt";
DataOutputStream dos=new DataOutputStream(new FileOutputStream(file));
dos.writeInt(10);
dos.writeInt(-10);
dos.writeLong(10L);
dos.writeDouble(10.5);
dos.writeChar('a');
dos.writeBoolean(true);
//采用UTF-8编码写出
dos.writeUTF("中国");
//采用UTF-16be编码写出
dos.writeChars("我爱你");
//dos.close();
数据流入与流出.printHex(file);
DataInputStream dis=new DataInputStream(new FileInputStream(file));
int i=dis.readInt();
System.out.println(i);
i=dis.readInt();
System.out.println(i);
long ii=dis.readLong();
System.out.println(ii);
double iii=dis.readDouble();
System.out.println(iii);
char iiii=dis.readChar();
System.out.println(iiii);
boolean iiiii=dis.readBoolean();
System.out.println(iiiii);
//采用UTF-8编码读出
String iiiiii=dis.readUTF();
System.out.println(iiiiii);
//采用UTF-16be编码读出
char i2;
while((i2=dis.readChar())!=-1){
System.out.print(i2);
}
}
举报