2012年7月1日日曜日

Java : Get contents names in a directory On Mac OSX Lion

Mac OSX Lion  + SE7 で日本語ファイル名を、java.io.File で取得しようとすると、文字化けが発生する。

これへの対処は、java.nio.file.Pathなど、java.nioのクラスを使うとよい。



import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.DirectoryStream;
import java.nio.file.Paths;



public static void main(String[] aArgs){
     try{

               Path path = Paths.get( "someDirName");
               DirectoryStream stream = Files.newDirectoryStream(path);

               for (Path file: stream) {
                         file.getFileSystem().getPath(firstmore)
                        System.out.println(file.getFileName());
               }
               stream.close();
    }
    stream.close();

    }catch(Exception e){
      e.printStackTrace();
    }
}



0 件のコメント: