如何在不删除保存到文本文件中的数据的情况下写入文本文件?

时间:2014-04-01 06:58:09

标签: text io text-files

我创建了一个程序,它会问你"你叫什么名字"并将其保存在文本文件中,但是当您再次运行程序并输入其他名称时, 将删除第一个条目,并且最新条目将显示在控制台上。 我想创建一个程序,用户键入的每个名称都将保存在文本文件中,而不删除任何名称。我顺便使用 eclipse

import java.util.*;
import java.io.*;


public class Sample
{

    public static void main(String args[])
    {
        Scanner con = new Scanner(System.in);
        String name;

        System.out.println("What is your name: ");
        name = con.nextLine();

        try
        {
            Formatter x= new Formatter("Sample.txt");
            File f = new File("Sample.txt");
            PrintWriter out = new PrintWriter(new FileWriter(f,true));
            Scanner scn = new Scanner(f);

            if(f.exists())
            {
                System.out.println("Done creating");
                out.println(name);
                out.close();
            }else
            {
                System.out.println("Failed");
            }

            while(scn.hasNextLine())
            {
                String line = scn.nextLine();
                System.out.println(line);
            }
                scn.close();

        }catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

尝试使用BufferedWriter而不是PrintWriter。

这是一个很好的例子: http://www.mkyong.com/java/how-to-append-content-to-file-in-java/