黑马程序员技术交流社区
标题:
关于 read(byte[] b) 问题
[打印本页]
作者:
刘圣繁
时间:
2013-2-1 15:22
标题:
关于 read(byte[] b) 问题
本帖最后由 张向辉 于 2013-2-3 11:48 编辑
InputStream is = new FileInputStream("exercise.txt");
byte[] b = new byte[5];
int len = 0;
while ((len = is.read(b)) != -1)
{
String s = new String(b);
System.out.print(s);
}
is.close();
如上述代码 String s=new String(b) 五个字节怎么能转换成字符呢 有的字符需要两个字节 如果在截取五个字节的时候 把原本一个字符的字节截断了 怎么办
作者:
Rancho_Gump
时间:
2013-2-1 20:44
本帖最后由 张向辉 于 2013-2-1 20:46 编辑
读字符流的时候涉及到编码表。所以要读字符文件并显示出来时,应注意读取方法,避免出现乱码。比如GBK中汉字是用2个字节表示,只读一个字节就显示的话就是乱码了,必须是读两个字节才能显示出一个汉字。应避免将其截断。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2