gpt4 book ai didi

java - 如何删除在java中读取的文件末尾的 '?'符号

转载 作者:行者123 更新时间:2023-11-30 02:25:03 24 4
gpt4 key购买 nike

我正在学习文件输入输出,但我遇到了问题。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
维纳亚克计算机学院?

***'?'***到底不在文件末尾。

最佳答案

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

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

while ((i = fin.read()) != -1) {
System.out.print((char)i);
}

关于java - 如何删除在java中读取的文件末尾的 '?'符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45861360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com