首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除“?”在用java读取的文件末尾签名。

问如何删除“?”在用java读取的文件末尾签名。
EN

Stack Overflow用户
提问于 2017-08-24 12:13:49
回答 1查看 166关注 0票数 1

我正在学习文件输入输出,我在其中遇到了问题。a.txt有一些文本,当它读取和打印世界时,结尾有“?”标记。

代码语言:javascript
复制
import java.io.*;
    class fRead{

            public static void main(String args[])throws IOException
            {

                FileInputStream fin=new FileInputStream("a.txt");
                int i=0;
                while(i!=-1){
                    i=fin.read();
                    System.out.print((char)i);
                }

                fin.close();
            }

    }

CMD:- G:\file>javac fRead.java的结果

G:\file>java fRead

维纳亚克计算机学院?

*‘?’*最后不是文件末尾。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-24 12:16:43

发生此问题是因为您在将-1转换为char后从read()打印它,即使在返回-1时循环应该停止而不打印任何内容。

您可以通过将赋值与检查负值相结合来修复该问题:

代码语言:javascript
复制
while ((i = fin.read()) != -1) {
    System.out.print((char)i);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45861360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档