如何删除'?'在java中读取文件末尾的标志

时间:2017-08-24 12:13:50

标签: java file-handling fileinputstream

我正在学习文件输入输出,我有一个问题。 a.txt 有一些文字,当它读取和打印世界时有'?'标记最后..如何删除它。

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
VINAYAK计算机学院?

***'?'***最后不在文件末尾。

1 个答案:

答案 0 :(得分:2)

出现此问题是因为您将-1转换为read()后将其转换为char,即使在-1while ((i = fin.read()) != -1) { System.out.print((char)i); } 时循环应停止而不打印任何内容返回。

您可以通过将分配与负片检查相结合来修复它:

action=>'ROUTE_NAME'