shelei222666 2016-06-10 11:42 采纳率: 0%
浏览 1684

字节流读取一个字节问题

现在要读取一个文本文件a.txt,里面有中文字符和英文字符。
FileInputStream fis = new FileInputStream("d://a.txt");
int by = 0;
while((by=fis.read())!=-1){
system.out.print(char(by));
}
fis.close();
当字节流按照一个字节读取文件的时候,为什么读取英文字符输出在控制台没有问题,读取中文字符输出会有问题?在java里英文字符跟中文字符不都是占2个字节吗?当你一个字节读取英文字符的时候它不是跟读取中文一样只读取了一个字节吗?为什么英文字符输出没问题而中文字符输出的时候就有问题请大神帮忙回答下谢谢

  • 写回答

2条回答 默认 最新

  • yx59774 2016-06-10 12:20
    关注

    UTF-8,英文一个字节,中文两个。Unicode才是中英文都是两个字节。

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!