嘿,伙计们,任何帮助将被感激。
我创建了一些代码,允许我从终端接收用户输入,并将其保存到同一目录的txt文件中。当我打开一个新的客户端并输入一个不同的名字时,它就会覆盖原来的名字。
public void userinput()
{
try
{
out = new BufferedWriter(new FileWriter("TESTING.txt"/*,true*/));
//
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
//ask for first name
System.out.println("Please enter your first name: ");
Name = input.nextLine();
//ask for surname
System.out.println("Please enter your last name: ");
Surname = input.nextLine();
//write names into txt file
out.write(Name + " - " + Surname);
//print welcome message with names into console for user
System.out.println("Welcome " + Name + Surname);
out.newLine();
out.close();
}
catch(IOException e)
{
System.out.println("There was a problem:" + e);
}
}
}
谢谢你的帮助
发生这种情况的原因很简单,因为你没有在追加模式下打开FileWriter,所以它不会每次都覆盖文件。要做到这一点,你必须调用构造函数为 new FileWriter("TESTING.txt", true)
. 只要把true取消掉就可以了。我猜你是在某些时候不小心评论出来的。