课程
/后端开发
/Java
/文件传输基础——Java IO流
老师说中属于utf-16be,可以单独读出来,但是怎么单独读出来呢?
2016-04-04
源自:文件传输基础——Java IO流 3-1
正在回答
其实写入'a' 不会干扰,写入'a'的后8位正好符合gbk编码,而是中间写入了int数,这个收到了干扰。
只要你的编码方式保持一致就可以了~
你这“中”字前面有没有写入其他的,有时候也是受到前面的干扰,比如write("A");这样的,写入只写了一个字节,但是一个字符却是两个字节,但是读出来的时候只是1个字节,所以读到后面的时候就可能会出现问题。【不过我们也能看出来这1个字节表示的是这个字符】
你也可以利用seek()来确定确定“中”字的位置,然后开始读,这样的话,都不会出现问题,就是稍微有一丢丢麻烦。
楼上的应该就是利用系统默认的编码方式我gbk。
leowei
我这也没有出乱码啊 直接就读出来了
??????
占个地 谁能讲解讲解
helloworld2008
在中的起始位置读两个字节到字节数组b里,再转化成utf-16be的字符串就可以了。
String s=new String(b,"utf-16be");
举报
为您介绍IO流的使用,以及对象的序列化和反序列化的内容
2 回答怎么输出汉字
2 回答怎么把“中”读取出来
6 回答dos.writeChars()写入的字符串,怎么读出
2 回答为什么在以下代码中i要被dis读取两次才能正常输出?
2 回答我怎么才能直接读出文件内容呢,比如文件是我爱你中华,我要读出的是文字,该如何操作