我已经使用java创建了一个文本编码器,并且我已经将文本中的文字添加到列表 。 现在解码程序,我需要那个我在编码程序中使用的列表,我已经使用了它的参考变量字。我无法理解如何在解码程序中使用该列表。如何导入它从列表中写入文本文件
-1
A
回答
1
下面是一个简单的示例,它将List
写入File
,然后读取File
以重新生成List
。然后检查两者是否相同。
该代码使用File.createTempFile
和File.deleteOnExit
来防止在使用此示例时随处创建随机文件。显然,这需要与存储文件的真实位置被替换:
public static void main(String[] args) throws IOException {
final List<String> myList = new LinkedList<>();
myList.add("Some");
myList.add("Random");
myList.add("Content");
myList.add("Some");
final File file = File.createTempFile("testProgram", ".list");
file.deleteOnExit();
writeToFile(myList, file);
final List<String> myList2 = readFromFile(file);
System.out.println(myList);
System.out.println(myList2);
if (myList.equals(myList2)) {
System.out.println("List read is the same as the list written");
} else {
System.out.println("Something has gone wrong...");
}
}
public static void writeToFile(final List<String> list, final File file) throws IOException {
try (final BufferedWriter bw = new BufferedWriter(new FileWriter(file))) {
for (final String line : list) {
bw.append(line);
bw.newLine();
}
}
}
public static List<String> readFromFile(final File file) throws IOException {
final List<String> content = new LinkedList<>();
try (final BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
while ((line = br.readLine()) != null) {
content.add(line);
}
}
return content;
}
或者您可以使用Java序列化API写的List
文件,作为二进制内容和读回。这将更快,但该文件将包含乱码(非人类可读内容)。
public static void writeToFile(final List<String> list, final File file) throws IOException {
try (final ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file))) {
oos.writeObject(list);
}
}
public static List<String> readFromFile(final File file) throws IOException, ClassNotFoundException {
try (final ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file))) {
return (List<String>) ois.readObject();
}
}
+0
您也可以使用Files.readAllLines()和Files.write()来代替在“BufferedWriter”上迭代和'BufferedReader'。 – assafmo 2013-04-06 12:07:06
相关问题
- 1. 从大型列表中写入Python中的文本文件
- 2. 从文本文件中读取/写入链接列表C
- 3. 从数组列表中写入文本文件C++
- 4. 从单词列表中将句子写入文本文件 - python
- 5. 写入到从列表<T> C#中的文本文件
- 6. 如何在Python中将文本列表写入文本文件
- 7. 列表写文本文件
- 8. 列表写文本文件
- 9. 从文本文件写入CSV文件
- 10. 如何将内容从继承列表写入文本文件?
- 11. 从文本文件读入python列表
- 12. 从文本文件读入列表框
- 13. 从文本文件中写入文本文件python
- 14. PHP写入文本文件从输入
- 15. 将文件列表写入文件并从中读取
- 16. 将列表写入文件
- 17. 从文本文件读入列表,然后写回列表Python/CGI
- 18. 在codesys中写入文本列表
- 19. 将列表中的每个项目写入文本文件
- 20. 如何将列表中的值写入文本文件?
- 21. 在文本文件中写入列表的内容
- 22. 将多个列表写入Python中的文本文件 - 2.7
- 23. 将ArrayList作为文本文件中的列表写入
- 24. CGpoint阵列写入到文本文件
- 25. 使用tsql从表中写入文本
- 26. Python:将列表写入文本文件和文本文件大小限制
- 27. 从文本文件写入决策树
- 28. 从VB.NET写入文本文件(编码)
- 29. 从文本框写入文件Lua
- 30. 从MATLAB写入文本文件
请显示您的代码 - 特别是您用于导出的代码和文件内容 - 或一个小例子文件。 – 2013-04-06 11:16:29
搜索java文件作家,你会发现很多的例子。遍历列表,将列表中的每个条目写入文件,然后关闭它。 – Patashu 2013-04-06 11:19:18