0
所以我使用這種方法寫入文件,它在Windows上完全正常工作,但是在Mac上運行時它會創建文件,但它們是空的。BufferedWriter在Windows上工作,但不能在Mac上工作
public static void writeLinesToTextFile(String path, String[] lines) {
File file = new File(r + path);
if (!file.exists()) {
try {
file.getParentFile().mkdirs();
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
BufferedWriter bw;
try {
bw = new BufferedWriter(new FileWriter(file.getPath()));
file.delete();
file.createNewFile();
for (int i = 0; i < lines.length; i++) {
//System.out.println(lines[i]);
bw.write(lines[i]);
bw.write(System.getProperty("line.separator"));
}
bw.flush();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
我知道數據是正確的,因爲它打印正確。 感謝您的幫助,這真的讓我失望。
而不是'bw.write(System.getProperty(「line.separator」))',你可以使用'bw.newLine()':https://docs.oracle.com/javase/8/docs/ api/java/io/BufferedWriter.html#newLine-- – Jeffrey
僅供參考,我已編輯我的答案以添加此行爲的解釋。 –