在文件名创建非英语字符的文件(Creating file with non english char

2019-10-19 01:40发布

如何建立中国特色的文件名在Java中的文件吗? 我看过很多堆栈溢出的答案,但无法找到一个妥善的解决办法。 我已经写了到目前为止的代码如下:

private void writeFile(String fileContent) {
try{
    File file=new File("C:/temp/你好.docx");
        if(file.exists()){
            file.delete();
        }
        file.createNewFile();
        FileOutputStream fos = new FileOutputStream(file);
        fos.write(fileContent);
        fos.close();
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
}

该文件写入到输出目录,但该文件的名称中包含一些垃圾值。 提前致谢。

Answer 1:

我认为,关键是因为我在评论提到。

你可以有中国文字(或其他非ASCII字符)的源代码中的文字。 然而,你应该确保两两件事:

  1. 你用它来保存源文件的编码能够代表这些字符(我的建议就是坚持使用UTF-8)
  2. -encoding你传递给参数javac应匹配文件的编码。 例如,如果您使用UTF-8,你的javac命令应该看起来像

    javac -encoding utf-8 Foo.java

我刚才已经尝试过类似一块你有代码,和它运作良好,在我的机器。



文章来源: Creating file with non english characters in the file name