環境変数 LANC=C で 日本語ファイル名を扱いたいと思っています。

内容

しかし、以下の様な Java のプログラムで日本語ファイル名を読もうとすると
LANG の設定によってはうまくいきません。

import java.io.File;
class Test {
    static public void main(String args[]){
        File dir = new File("somedir");
        for (String f : dir.list())
            System.out.println(f);
    }
}

実行すると、こんな感じになります。

% echo $LANG
ja_JP.UTF-8
% java Test
い
う
あ

% LANG=C java Test
???
???
???

前提条件

日本語ファイル名のファイルは事前に以下の様に作りました。

% mkdir somedir
% touch somedir/あ
% touch somedir/い
% touch somedir/う

Javaのプロパティ

関係ありそうだなと思ったので、
LANGja_JP.UTF-8C の場合の
System.getProperties() の差を調べると
以下の4点が違う様でした
- user.country
- user.language
- sun.jnu.encoding
- file.encoding

以下を Cja_JP.UTF-8 で実行してみて diff で調べました。

class Prop {
    static public void main(String args[]){
        java.util.Properties p = System.getProperties();
        for (Object k : p.keySet())
            System.out.println(k + ": " + p.get(k));
    }
}

それで以下の様に LANG=C にして、
上の4つを ja_JP.UTF-8 のときと同じになる様に実行してみましたが
やはりうまく表示されません。

% LANG=C java -Dfile.encoding=UTF-8 \
              -Dsun.jnu.encoding=UTF-8 \
              -Duser.country=JP \
              -Duser.language=ja \
              Test

でも、最初に LANG=C java Test で実行したときとは
違う文字が出ている様でした。
どちらにしろ読めないですが

出力まとめ

出力はまとめると以下の様になります

# うまく表示される
% java Test | hexdump -C
00000000  e3 81 84 0a e3 81 86 0a  e3 81 82 0a              |............|
0000000c

# うまく表示されない
% LANG=C java Test | hexdump -C
00000000  3f 3f 3f 0a 3f 3f 3f 0a  3f 3f 3f 0a              |???.???.???.|
0000000c

# うまく表示されない    
% LANG=C java -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Duser.country=JP -Duser.language=ja Test | hexdump -C
00000000  ef bf bd ef bf bd ef bf  bd 0a ef bf bd ef bf bd  |................|
00000010  ef bf bd 0a ef bf bd ef  bf bd ef bf bd 0a        |..............|
0000001e

環境

OS は Ubuntu です

% cat /etc/issue
Ubuntu 14.04.4 LTS \n \l
% uname -a
Linux ub 3.13.0-74-generic #118-Ubuntu SMP Thu Dec 17 22:52:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
% java -version
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)

なにかヒントが頂けるとうれしいです。
また、ここを調べた方がいいというポイントがあれば、教えて下さい。
よろしくお願いします。