要求仕様を満たすため、文字コードと改行コードを指定してのテキストファイルの書き込みを用意したときに気づいたこと。
java7の仕事で、標準APIのFiles#writeを使って実装してあったのですが、WindowsとLinuxで実行したときに改行コードに違いがでました。
javadocを読んでみたら、実行環境のOSによって改行コードが変わるとのこと。(厳密にはsystem propertyのline.sepalatorの値で決まるようです。)
困ったときのapache commons
とりあえず巨人の肩に乗ってから考えよう、というのが最近のスタンスです。
というわけで、commons-ioのFileUtilsにそのものずばりのものがありました。
writeLines(File file, String encoding, Collection<?> lines, String lineEnding)
車輪の再発明を避けつつ、仕様を明確に表現したいので、こういうライブラリはありがたい限りです。