にむぞノート

新米プログラマーです。 仕事、 趣味で得た知識を適当に残していきます。

paiza.io上でJavaを実行した時の改行コード

プログラミングしていて、
ちょっとあのメソッド使ったらどういう結果になったっけ?て
たまに、動作確認したいときがあります。
もちろん、普段の仕事場や自宅の場合は実行環境があるので、
すぐに確認すればいいじゃんていう話なんですが、
これが、ちょっと場所を変えただけで、
「環境がないから無理!」ていう話になるんですよね。

ところが、最近は「paiza.io」というサービスがあり、
ブラウザで手軽にコーディングができるようになりました。
しかも24言語も対応している。(2015年8月現在)

https://paiza.io/

頻繁に使用するわけではないですが、
たまに必要な時があるので、けっこう気に入ってます。
ユーザー登録しなくても実行できるので、
会社のPCで勝手にそういうサイトにログインしてはいけないところだと、
非常にありがたいですよね。

この「paiza.io」ですが、サーバー上で動作するため、
自分のパソコンがWindowsでもLinux上で動くようになるみたいです。

私は主にJavaで使用するので、関係ないといえば、関係ないんですが、
ファイルやパスの区切り文字が違ってくるので、
ある程度、注意していこうと思ってます。

ちなみに改行コードも違うそうで、
Windows上で実行するときは「\r\n」に対し、
paiza.io」ではLinuxなので「\n」になるそうです。
(別にWindowsで「\n」と書いてもこちらのサイトで書く程度のプログラムなら支障ないと思うのですが...)

でも、実際に調べようとして

System.out.println(System.getProperty("line.separator"));

と記述しても正味一行改行された結果しかコンソールに表示されないので、
何が改行コードになっているのかわからん!

なので、ちゃんと調べてみました。

「プログラム」

public class SystemPropertyList {
    public static void main(String[] args) {
        String br;
        switch(System.getProperty("line.separator")) {
            case "\r\n":                // Windows
                br = "\\r\\n"; break;
            case "\n":                  // MacOS X以降、Linux,BSD等
                br = "\\n"; break;
            case "\r":                  // MacOS 9以前
                br = "\\r"; break;
            default:
                br = "不明";
        }
        System.out.println("[改行コード] " + br);
    }
}

「出力結果」

[改行コード] \n


予想通り、「\n」が改行コードになるみたいですね。
あまり、役立つ情報ではないと思いますけど、、、。