この単純なプログラムをWindows7で実行してからAIX(Unixシステム)で実行し、WinmergeやCompare Itなどのツールを使用して生成された2つのファイルを比較すると、キャリッジリターンとラインフィードは異なりますが、内容は同じであることがわかります。
何故ですか?この場合、両方が同じエンコーディング「UTF-8」を使用する場合、同じであるとは限りませんか?
どうすれば両方のファイルを完全に等しくすることができますか?
public class WriteFile {
public static void main(String[] args) throws IOException {
write();
}
public static void write() throws IOException {
File file = new File("/tmp/test.txt");
file.delete();
file.createNewFile();
String str = "hello";
FileOutputStream fileOs = new FileOutputStream(file);
PrintWriter writer = new PrintWriter(new OutputStreamWriter(fileOs, "UTF-8"), true);
writer.println(str);
writer.close();
}
}