Javaはマルチプラットフォームに対応しているため、特定のハードウェアやOSに依存しません。どんなOSでも同じように動作するのがJavaの強みですね。
ただ、OSによって一部動作が異なるものがあります。その1つが改行コードです。
例えば、以下コードの場合、Mac OS X(10以降)やLinuxでは改行されますが、WindowsやMac OS(9以前)では改行されません。
これは、OSによって改行を指示するための改行コードが異なるからです。参考までに、以下にOSごとの改行コードを載せます。
- Windows:CR + LF(\r\n)
- Mac OS(9以前):CR(\r)
- Mac OS X(10以降):LF(\n)
- Linux:LF(\n)
そこでこの記事では、Javaで環境依存せずに改行コードを取得・設定する方法をご紹介します。
環境依存せずに改行コードを取得・設定する方法
line.separator
システムプロパティを利用することで、現在動作中のOSが採用している改行コード(\r\nや\n)を取得することができます。
あとは、取得した改行コードを適切な箇所に設定してやればOKです。
まとめ
Javaで環境依存せずに改行コードを取得・設定する方法をご紹介しました。
本内容は以下書籍を参考にしました。Java初心者から中級者になるためのエッセンスが詰まっている良書です。