2012年7月19日木曜日

MacOSX + Java JDK1.7 日本語ファイル名の文字化け

MacOSXでは、ファイル名の文字コードがUTF-8Macなので、UTF-8で処理していても文字化けが発生する。
というか、java.io.FileをJDK1.7で使うと、日本語が内部で文字化けしている。なので、
迷わず、java.nio2を使って処理をする。そうすれば、日本語の文字化けはしない。

これは、Swing等、java.io.Fileを使うものにいろいろと影響する。
JFilechooserも同様に、日本語のファイル名が無視される。
そんなときは、java.awt.FileDialogを使えば、日本語も扱える。



FileDialog fd = new FileDialog(frame, "ファイルを開く" , FileDialog.LOAD); 
fd.setMultipleMode(true);
fd.setVisible(true);
File[] oFiles = fd.getFiles();
String fileNames = null;
for(File tmp : oFiles){
fileNames += tmp.getName();
}


0 件のコメント: