3-7为什么我的代码输出是21?

来源:3-7 自由编程

Z_ZG

2020-04-27 10:20:12

package demo;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class demo {
    public static void main(String args[]) {
        try {
            FileInputStream fis=new FileInputStream("/home/gordon/speech.txt");
            int n=0,i=0;
            System.out.println("文本内容:");
            while(!((n=fis.read())==-1)) {
                System.out.print((char)n);
                i++;
            }
            System.out.println("统计结果:speech.txt文件中共有"+i+"个字节");
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
    }
}

这里调试发现文件末尾有个10的数据传入,再传入的-1http://img.mukewang.com/climg/5ea640cc0919d93618531053.jpg

写回答

1回答

好帮手慕小琪

2020-04-27

同学你好,10对应的ASCII码含义是换行键,同学可以检查一下txt文件是否有换行,如果有换行,删除换行保存文件,再执行程序即可。

如果没有解决同学的问题,建议同学将txt文件内容发到问答区,老师再为同学解答。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

0

0 学习 · 11489 问题

查看课程