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

本文档介绍了一个Java程序,该程序创建了一个包含Club对象的ArrayList,并实现了将ArrayList保存到文件以及从文件重新加载的功能。在保存时,ArrayList被转换为字符串并写入文件;在加载时,程序遇到问题,因为读取的文件内容是字符串而不是Club对象,导致加载失败。目前的加载方法尝试将字符串直接添加到ArrayList中,而实际需要的是将字符串转换回Club对象。
摘要由CSDN通过智能技术生成

我正在用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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值