我已經使用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