将数据存储在arraylist中并在下次启动程序时保存

时间:2014-05-08 13:22:35

标签: java

我现在真的陷入困境,我做错了什么。

我已经制作了这个程序,从文件中读取一些成员名和成员姓氏,并将其放入arraylist。

然后我制作了一个扫描仪,这样我就可以写一个名字和姓氏,并检查名字和姓氏是否包含在arraylist中。如果名字在arraylist中,那么我可以输入一个号码给那个人。 它正在运作,我输入的号码在arraylist中的正确位置。

但是下次我运行程序时,我选择了另一个人,它还没有保存arraylist中的值,我怎么能这样做?因此,每次运行程序时,它都会保存我输入的信息。

这是我一直在制作的代码,我是这方面的新手。

    import java.util.*;
  import java.io.*;
   public class result
{

getList list = new getList();
Scanner input;
Scanner result;
PrintStream output;


public ArrayList<String> resultList = new ArrayList<String>(list.showListToArray());       




public result() throws Exception
{

    input = new Scanner(System.in);

    result = new Scanner(System.in);

    String name = input.next();
    String lastName = input.next();


           if(resultList.contains(name) && resultList.contains(lastName))
           {



              System.out.print(name + lastName + "Enter his result ");

              String bestResult = result.next();

              int position = resultList.indexOf(lastName)+1;

              resultList.add(position, bestResult);                  


            }

            System.out.print(resultList);    
}



}

1 个答案:

答案 0 :(得分:1)

这是一个名为persistence的问题。这是一个非常简单的问题,在您的情况下,这是一个非常好的方式来进入练习。

您需要做什么

目前,您正在接收用户的输入,并将其添加到ArrayList。这很好,但是当程序关闭时,您的ArrayList将被垃圾收集器破坏,并且其中的数据将丢失。您需要做的是将这些值写入外部文件,我们将其称为test.txt

怎么做

原则很简单。您将内容写入要保留的文件,并在需要时阅读它们。

BufferedWriter writer = new BufferedWriter(new FileWriter(new File("test.txt")));

String stuffToWrite = "Hello";

writer.write(stuffToWrite);

writer.close();

现在,这会将"Hello"打印到名为test.txt的文件中。

阅读它也很直接。

BufferedReader reader = new BufferedReader(new FileReader(new File("test.txt")));

String content = reader.readLine();

// content now contains "Hello".