gpt4 book ai didi

Java:PrintWriter 对象不输出文件中的文本?

转载 作者:行者123 更新时间:2023-11-30 08:48:22 25 4
gpt4 key购买 nike

我正在尝试将某个程序的用户名打印到一个文件中,但 PrintWriter 没有在我的文件上打印任何内容。我已经尝试了 stackOverFlow 上提到的所有内容,但都没有用。

用户类

private File usersListFile;
private PrintWriter usersListPrintWriter;
private Scanner usersListScanner;

构造函数:

Users(){
try {
this.usersListFile = new File("D:\\Dairy\\usersList.txt");
if(usersListFile.exists()){
this.usersListPrintWriter = new PrintWriter(new BufferedWriter(new FileWriter("D:\\Dairy\\usersList.txt", true)));
this.usersListScanner = new Scanner("D:\\Dairy\\usersList.txt");
}
else
System.err.println("File does not exist !");
}
catch(Exception e){
System.err.println("Error: Users Class!");
}
}

方法:

public void addToUsersList(String username){
usersListPrintWriter.print(username);
}

主要方法:

public static void main(String[] args) {

Users usersObject = new Users();
usersObject.addToUsersList("USERNAME");

}

最佳答案

usersListPrintWriter 已缓冲,因此您需要刷新数据(正如 Alexandro 所提到的)。

您还可能需要将 print 更改为 println,以便新添加的用户在单独的行上输出。

您的 Scanner 将不起作用,因为您正在扫描给定的字符串,而不是文件内容。请改用 new Scanner(this.usersListFile)

您还应该在上一行中重新使用您的 File 对象:new FileWriter(this.usersListFile, true)

而且我会说同时打开同一个文件的 WriterScanner 是个坏主意,即使它可行。除非你有

关于Java:PrintWriter 对象不输出文件中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32000382/

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