0

我有以下代码:

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] 元素吗?

4

3 回答 3

2

一开始,JFileChooser 只选择一个文件名并给你文件名后面的文件。您首先需要的是一种编写文件的方法(只需在代码中记下文件名,然后再更改该部分)。阅读有关如何将一些文本写入文件的这一页教程。这里有一些简单的代码,它向您展示了如何逐行读取文件。

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

于 2013-04-03T16:26:49.353 回答
1

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

于 2013-04-03T16:25:23.267 回答
1

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

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

有些人会说序列化 Java 对象。然而,这是一种不灵活的方法。如果您在 Java 对象中添加或删除任何字段,您的序列化会发生变化。

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

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

您可以将 Java 对象写入SQLite等关系数据库。如果您有许多关系 Java 对象,这是一个不错的选择。

于 2013-04-03T16:30:45.333 回答