必須將兩個最終數組寫入一個.txt文件,以便您可以獲得第一個數組中的第一個對象,第二個數組中的第一個對象依次寫入。試圖寫入文本文件混淆了我,因爲它是,但必須編寫兩個陣列一個接一個......將兩個數組寫入文本文件
所以,如果數組1有「A,B,C」,第二個有「1,2, 3" ,最後的結果將是
- A 1
- B 2
- 的C 3
我覺得它會是與製作文件和System.out的命令,但我m不知道該怎麼做...
必須將兩個最終數組寫入一個.txt文件,以便您可以獲得第一個數組中的第一個對象,第二個數組中的第一個對象依次寫入。試圖寫入文本文件混淆了我,因爲它是,但必須編寫兩個陣列一個接一個......將兩個數組寫入文本文件
所以,如果數組1有「A,B,C」,第二個有「1,2, 3" ,最後的結果將是
- A 1
- B 2
- 的C 3
我覺得它會是與製作文件和System.out的命令,但我m不知道該怎麼做...
您可以使用PrintWriter
創建並寫入文件。假設兩個數組的大小相同,則可以遍歷數組的元素並使用[.print(String s)][2]
方法打印到文件。
最後,當您完成後,請不要忘記close
流。
在寫入文件或控制檯時將兩個陣列齊平。
像 -
String[] array1 ={"A","B","C"};
String[] array2 ={"1","2","3"};
try(PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8")){
for(int i=0;i<array1.length;i++){
// add condition if both array are not same in size
String temp = array1[i]+" "+array2[i];
System.out.println(temp); // console
writer.println(temp); // file
}
writer.flush();
}
請在示例中始終使用'try-with-resources'。直接調用'close()'是不好的做法。調用'flush()'是不必要的。 – 2014-10-10 07:21:57
PrintWriter實現不需要完全刷新,因爲'close'方法不會在內部調用,請檢查代碼 – 2014-10-10 07:25:57
錯誤,'PrintWriter.close()'關閉它所修飾的編寫器。在你的情況下,一個'BufferedWriter'。作家自己刷新。爲什麼'PrintWriter'會在接近時調用'flush'?它不一定需要緩衝... – 2014-10-10 08:07:14
簡單。
第一個問題,你將如何打印到STDOUT?
assert (one.length == two.length);
for (int i = 0; i < one.length; ++i) {
System.out.println(one[i] + " " + two[i]);
}
因此,現在您只需將其放入文件即可。 System.out
只是一個PrintWriter
所以我們需要那些指向文件之一:
final Path path = Paths.get("path", "to", "file");
try (final PrintWriter writer = new PrintWriter(Files.newBufferedWriter(path, StandardOpenOption.CREATE_NEW))) {
for (int i = 0; i < one.length; ++i) {
writer.println(one[i] + " " + two[i]);
}
}
http://stackoverflow.com/questions/2885173/java-how-to-create-and-write-to-a -file – herrlock 2014-10-10 07:16:32
這並不能幫助我知道如何使用兩個數組打印...... – 2014-10-10 07:18:56