enum
独自にフィールド、メソッドを追加できる!
http://www.ne.jp/asahi/hishidama/home/tech/java/enum.html
I/O, Reader/Writer
http://docs.oracle.com/javase/jp/7/technotes/guides/io/io.html
1行ずつ読む
BufferedReaderを使う。行末は、\r, \n, \r\n。読み出した文字列には行末記号は含まれない。読み終わるとnullが返る。
BufferedReader reader = new BufferedReader(someBasicReader); reader.readLine();
文字列処理
- PHPのjoinにあたる処理は自前で作るか、Apache Commons Langを利用する。
ファイルシステム関連
sync
java.io.FileDescriptor#sync()を使えばOK?
Date
文字列へ変換
DateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss z");
format.setTimeZone(TimeZone.getTimeZone("Asia/Tokyo"));
String str = format.format(date);
CSV
http://honeplus.blog50.fc2.com/blog-entry-69.html
- OpenCSV
String配列かBean。らしい。 - Super CSV
Mapも可。らしい。
64bit VM (Windows)
- 64bit版JREと32bit版JREは混在できる。なお、64bit->32bitの順にインストールしたら、PATHにとおっているのは64bit版となった。先にインストールしたのが勝つのか?
- JNIでネイティブを呼び出す場合は、64bitVMからは64bitのモジュール、32bitからは32bitのにする必要がある。混在できない。Will 32-bit native code work with a 64-bit VM?
- 64bitにはClient VMが今のところない。Are both -client and -server VM modes available in 64-bit Java?
Windows 7 64bit に 32bitなJava開発環境を作る
すでに64bit JREとeclipseが導入済みで、それらを残したまま32bitな開発環境を作る。JNIで32bitなDLLを必要とするアプリを開発するのに使う。
- 32bit版JREをインストール。インストール先は64bit JREとは別の場所へ。デフォルトでProgram Files(x86)になっているのでそのままでOK。
- eclipseの32bit版をインストール
この状態でコマンドプロンプトから java -versionとすると、PATHにとおっているのが64bit版であることがわかる。しかし、32bit 版 eclipse起動時には32bit版が選択されている模様。[Help]-[About Eclipse]-[Installation detail]の[Configuration]の以下の記述からそう読み取れる。
-vm C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll
eclipseの設定
- [Window]>[Preferences]の[Java]>[Installed JRE]に、32bit版のJREを追加。それにチェックを入れてデフォルトにする。
既存のプロジェクトについては、以下の設定をする。この設定により、Run/Debugで32bit JREが使用されるようになった。
- プロジェクトの[Properties]-[Java Build Path]で[Add Library...]。[JRE System Library]を選択。Workspace default JRE が 先に追加した32bit JREになっていることを確認し、それを選択して、[Finish]