java将arraylist写入txt_Java-如何将ArrayList写入文件,然后将该文件读取(加载)到原始ArrayList?...

本文介绍了一个Java程序,该程序能够添加用户定义的俱乐部到ArrayList中,并提供了保存和加载这些俱乐部的功能。作者遇到了如何有效地将ArrayList持久化到文件以及从文件中重新加载的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在用Java编写一个程序,该程序显示了一系列课后俱乐部(例如,EG Football,曲棍球-由用户输入)。俱乐部被添加到以下ArrayList:

private ArrayList clubs = new ArrayList();

通过以下方法:

public void addClub(String clubName) {

Club club = findClub(clubName);

if (club == null)

clubs.add(new Club(clubName));

}

‘Club’是一个带有构造函数的类-名称:

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..

}

我的程序正在运行-它使我可以将新的Club对象添加到我的数组列表中,可以查看该数组列表,还可以删除所需的任何内容,等等。

但是,我现在想将该arrayList(俱乐部)保存到文件中,然后我希望以后可以加载该文件,并且相同的arraylist再次存在。

我为此有两种方法(请参见下文),并且一直在尝试使其工作,但还没有运气,任何帮助或建议都将不胜感激。

保存方法(文件名由用户选择)

public void save(String fileName) throws FileNotFoundException {

String tmp = clubs.toString();

PrintWriter pw = new PrintWriter(new FileOutputStream(fileName));

pw.write(tmp);

pw.close();

}

加载方法(当前代码无法运行-文件为字符串,但需要为Club吗?

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之类的(对于列表中的每个Club)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值