Java - 如何将我的 ArrayList 写入文件,并将该文件读取(加载)到原始 ArrayList?
2022-09-01 13:31:40
我正在用Java编写一个程序,该程序显示一系列课后俱乐部(例如足球,曲棍球 - 由用户输入)。俱乐部被添加到以下:ArrayList
private ArrayList<Club> clubs = new ArrayList<Club>();
通过以下方法:
public void addClub(String clubName) {
Club club = findClub(clubName);
if (club == null)
clubs.add(new Club(clubName));
}
“俱乐部”是一个带有构造函数的类 - 名称:
public class Club {
private String name;
public Club(String name) {
this.name = name;
}
//There are more methods in my program but don't affect my query..
}
我的程序正在工作 - 它允许我将一个新的俱乐部对象添加到我的数组列表中,我可以查看数组列表,我可以删除任何我想要的东西等。
但是,我现在想将该数组列表(俱乐部)保存到一个文件中,然后我希望以后能够加载该文件,并且相同的数组列表再次存在。
我有两种方法(见下文),并且一直在努力使其正常工作,但没有任何运气,任何帮助或建议将不胜感激。
保存方法(文件名由用户选择)
public void save(String fileName) throws FileNotFoundException {
String tmp = clubs.toString();
PrintWriter pw = new PrintWriter(new FileOutputStream(fileName));
pw.write(tmp);
pw.close();
}
加载方法(当前代码不会运行 - 文件是字符串,但需要是俱乐部?
public void load(String fileName) throws FileNotFoundException {
FileInputStream fileIn = new FileInputStream(fileName);
Scanner scan = new Scanner(fileIn);
String loadedClubs = scan.next();
clubs.add(loadedClubs);
}
我还使用GUI来运行应用程序,目前,我可以单击我的“保存”按钮,然后允许我键入名称和位置并保存它。文件显示并可以在记事本中打开,但显示为类似于Club@c5d8jdj(对于我列表中的每个俱乐部)