gpt4 book ai didi

Java:FileReader 和 FileWriter 不能一起工作

转载 作者:行者123 更新时间:2023-12-02 01:55:46 26 4
gpt4 key购买 nike

所以,我正在尝试制作一个程序,可以仅使用 FileWriter 和 FileReader 写入然后读取完全相同的文本文件,但由于某种原因,当我将这两个类放在相同的代码中时,FileWriter 可以正常工作,但 FileReader 没有,并且我得到一个空输出。

import java.io.*;
import java.util.Scanner;
public class ex2 {
public static void main(String[] args) {
File file = new File("C:\\a.txt");
Scanner scanner = new Scanner(System.in);
try {
FileReader reader = new FileReader(file);
FileWriter writer = new FileWriter(file);
writer.write(scanner.nextLine());
int ch;
while ((ch = reader.read()) != -1) {
System.out.println((char)ch);
}
scanner.close();
reader.close();
writer.close();
} catch (Exception e) {

}

}
}

这就是我正在谈论的代码。我可以向 a.txt 写入任何内容,但读者似乎无法读取任何内容。奇怪的是,如果我使用完全相同的代码但没有文件写入部分,FileReader 会正常工作。我究竟做错了什么?提前致谢!

最佳答案

FileWriter 对象被缓冲。这意味着他们不会在您调用 write 后立即写入您提供给他们的所有内容。他们会等到有一定数量要写的时候,然后一次性写完。只需添加这一行:

writer.flush();

在你的写作和阅读之间。

关于Java:FileReader 和 FileWriter 不能一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52317627/

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