SystemのProperty
Javaのコードの中で、MySQLのデータベースに接続するときにEUC_JPを指定しないと日本語が正常に扱えない(Linuxの場合)。どこかに何かを設定すれば、コードの中で文字コードを指定しなくてもいいのかもしれないけど、今のところまだその方法は分からない。
ということで、このままではWindowsとLinuxで共通のコードではなくなってしまう。
Cだったら迷わず#ifdefを使ってしまうところだけど、Javaにはそういうのはないようだ。
OSに依存したコードを書こうとする方が悪いのか?
Java 入門 | 文字コード
ここによると、
System.out.println(System.getProperty("file.encoding"));
で文字コードが分かるらしい。
WindowsとLinuxの両方で動作するコードを書く:JavaTips 〜Javaプログラミング編 - @IT
ここによると、System.getProperty()でOSの種類なんかも分かるらしい。
おお、実行したら結構いろいろ出てくる。OSとかパスとかユーザ名とかCPUのエンディアンとかも出てくる。
なんだ、こんな情報が取れるのか。これでソフトが作りやすくなった。
Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle
これを見ただけじゃこんな情報が取れるなんて分からなかったな。