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
参考までに、この動作の説明を追加するために私の答えを編集しました。 –