我在Solaris10 with Chinese. 现在目录中有一些文件是中文文件名。当我执行files = new File(dir).list()where "dir" 是包含该中文文件的父目录时,我得到的结果文件名files[0]是????? (一些垃圾字符)。
现在的交易是我的程序file.encoding属性已经设置为GBK,我也这样做Charset.isSupported("GBK")了,它也返回 true。那么问题可能出在哪里。我的想法不多了。
注意:我不想在任何地方打印文件名或复制文件或其他东西。我只是为它打开一个流,如下所示:
files = new File(dir).list();
new FileInputStream(files[0]);
现在这给了我一个 FileNotFoundExcpetion,所以我调试只是为了发现 files[0] 中的值是“??????”。