Java输入输出流中,为什么下面这段代码读出来多了个“?”?
代码:
//创建一个FileInputStream对象
try {
FileInputStream fis=new FileInputStream("imooc.txt");
int n=0;
while(n!=-1) {
n=fis.read();
System.out.print((char)n);
}
fis.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}
运行结果:
Hello,imooc!?
18
收起
正在回答
1回答
同学你好,
1、因为每次读取时,最后一次读取到的数据为-1,将-1转为char类型后显示的就是?,测试代码如下:
2、同学可对代码做如下优化,进行读取操作。
祝学习愉快~
java工程师2020版
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星