如何使用JFileChooser保存/加载ArrayList数组?

时间:2013-04-03 16:20:25

标签: java arrays file arraylist jfilechooser

我有以下代码:

ArrayList<String> [] hotelArray = (ArrayList<String>[ ]) new ArrayList[5];
for (int i = 0; i < 5; i++) {
    hotelArray[i] = new ArrayList<String>();
}

hotelArray[0].add("NY hotel1");
hotelArray[0].add("NY hotel2");
hotelArray[0].add("NY hotel3");
hotelArray[2].add("Japan Hotel");
    hotelArray[2].add("Japan Hotel2");
hotelArray[3].add("Nova Hotel");
hotelArray[4].add("Tokyo hotel");

现在我想知道,如何使用JFileChooser将hotelArray保存到单个文件中。另外我如何使用JFileChooser读取文件?当我在阅读时,我可以限制只是阅读说hotelArray [0]元素吗?

3 个答案:

答案 0 :(得分:2)

在开始时,JFileChooser除了选择文件名并为您提供名称后面的文件之外别无其他。您首先需要的是一种编写文件的方法(只需在代码中记下文件名并稍后更改该部分)。阅读这一页的教程,了解如何write some text into a file。 这里有一些代码安静,它会逐行向您展示如何read a file

现在您只需遍历您的ArrayList并将每个列表条目作为新行写入您的文件。您可以将其从文件读回ArrayList

的方式相同

答案 1 :(得分:1)

JFileChooser返回一个File对象。然后你可以自由地用它做任何事情。请先查看manual

答案 2 :(得分:1)

JFileChooser从磁盘中选择要读取的文件,或选择/创建要写入的文件。

文件格式由您决定。您必须将Java对象转换为可以写入磁盘并从磁盘读取的字节。

有些人会说要序列化Java对象。但是,这是一种不灵活的方法。如果添加或删除Java对象中的任何字段,则序列化会更改。

您可以将Java对象编写为Java Properties文件。如果要写入磁盘的数据量有限,这是一个不错的选择。

您可以用XML编写Java对象。如果要保持与Java对象的层次关系,这是一个不错的选择。

您可以将Java对象编写到关联数据库,如SQLite。如果您有许多关系Java对象,这是一个很好的选择。