关于统计字符的问题
FileInputStream fis1 = new FileInputStream("speech.txt"); int n = 0;//接收读取字节 int count=0;//计数器 System.out.print("文本类容:"); while ((n = fis1.read()) != -1) { System.out.print((char)n+" "); count++; } System.out.println(); System.out.println("统计结果:"+file1.getName()+"中共有"+count+"个字节"); 我在文件中只写入了五个字符abcde,但是最后统计出来的是7个字节,打印输出的也确实只有这五个字符,但是如果我直接打印输出字节的话,会在最后多出来13和10这两个字节编码,查一下好像是空格,请问是不是 System.out.print((char)n+" ");这条语句里的空格呢?如果是的话应该每次循环里都会输出这样的空格啊,那么字节不就应该是10个了吗?我把这条语句里的空格删除,仍然是输出统计7个字节。求解
2
收起
正在回答
2回答
同学你好,在文件内容的读取中,换行、回车等都是有对应的标识符,都是可以作为一个字符来输出,所以多出的两个字符应该就是回车换行的标识符。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星