1

我正在尝试编写的程序有一些问题。基本上我需要做的是获取ArrayList我拥有的信息并将信息导出到文本文件。我尝试了谷歌的几种不同的解决方案,但没有一个给我任何成功。

基本上我有两个ArrayList,两个名单,一个毕业生和一个本科生。我只需要获取与这些相关的信息ArrayList并将它们放入一个文本文件中。

稍后我需要将.txt文件执行相反的操作(导入)到ArrayList中,但我稍后会弄清楚。

有什么建议么?

4

2 回答 2

0

这是使用Apache commons-io 库的解决方案:

//Put all data into one big list, prepended with size of first list
List<String> allData = new ArrayList<String>(1+grads.size()+undergrads.size());
allData.add(String.valueOf(grads.size());
allData.addAll(grads);
allData.addAll(undergrads);
FileUtils.writeLines(new File("list.txt"), allData);

读回数据:

List<String> allData = FileUtils.readLines(new File("list.txt"));
int gradsSize = Integer.parseInt(allData.get(0));
List<String> grads = allData.subList(1, gradsSize+1);
List<String> undergrads = allData.subList(1+gradsSize, allData.size());
于 2012-05-07T06:55:59.163 回答
0

如果您需要以特定格式写入数据,您可以使用 aPrintWriter以您希望的任何方式将数据写入文件。这样做的问题是,您必须找出一种方法,然后重新读取文本文件并填充数据。

另一方面,您可以使用XStream (此处为教程)将文件编写为 XML。这将为您提供人类可读的文本文件(如上),但是,在填充数据时重新读取文本文件会容易得多。

最后,您可以使用ObjectOutputStream写入数据并使用ObjectInputStream重新读取数据。但是请注意,此方法不会产生人类可读的文本文件。此外,您的类将需要实现Serializable接口。

于 2012-05-07T05:18:52.340 回答