Galaxy Sで外部SD(マイクロSD)をアクセする場合

NexusOneやXperiaでマイクロSDのファイルへの読み書きをする場合は.

    	File directory = Environment.getExternalStorageDirectory();
    	String filepath = directory.getAbsolutePath() + "/hoge";

とか書いてマイクロSDのルートにhogeを置けば良かったのだけど,GalaxySは内部ストレージがあるらしく,パスが変わる.

$ df
/dev: 154668K total, 0K used, 154668K available (block size 4096)
/mnt/.lfs: Function not implemented
/mnt/asec: 154668K total, 0K used, 154668K available (block size 4096)
/system: 292608K total, 279028K used, 13580K available (block size 4096)
/data: 1963952K total, 70704K used, 1893248K available (block size 16384)
/dbdata: 116456K total, 1544K used, 114912K available (block size 4096)
/cache: 30792K total, 16K used, 30776K available (block size 4096)
/efs: 4114K total, 1057K used, 3057K available (block size 1024)
/mnt/sdcard: 13377920K total, 26560K used, 13351360K available (block size 32768)
/mnt/sdcard/external_sd: 989936K total, 96K used, 989840K available (block size 16384)

なので,

    	File directory = Environment.getExternalStorageDirectory();
    	String filepath = directory.getAbsolutePath() + "/external_sd/hoge";

とかにする必要がある.ちょいと不便だな.