为什么这段代码不能存储多个输入--目前只存储一个输入,当有新的输入时就会被覆盖。

问题描述 投票:1回答:1

嘿,伙计们,任何帮助将被感激。

我创建了一些代码,允许我从终端接收用户输入,并将其保存到同一目录的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);
            }
}

}

谢谢你的帮助

java xml client-server writetofile
1个回答
1
投票

发生这种情况的原因很简单,因为你没有在追加模式下打开FileWriter,所以它不会每次都覆盖文件。要做到这一点,你必须调用构造函数为 new FileWriter("TESTING.txt", true). 只要把true取消掉就可以了。我猜你是在某些时候不小心评论出来的。

© www.soinside.com 2019 - 2024. All rights reserved.