1
如何在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();
}
}
该文件被写入输出目录,但文件的名称包含一些垃圾值。提前致谢。
中文字符存在于Unicode中,所以不明显,为什么这不起作用。你可以发布你尝试过的代码示例,也许有一个异常日志?哪个平台(Win/Mac/Unix)和文件系统(NTFS/ext3/JFS)给你带来麻烦? –
没有例外。该文件被创建,但具有随机文件名。我正在使用Windows 7(NTFS)和JDK 6. –
好吧,我已经低调了,并且正在输入一个注释,要求输入代码,并且您在输入时添加了该注释。您需要使用Unicode转义序列:'\ uNNNN'作为该名称。我对这些角色并不熟悉,但我怀疑你正在迁移到UTF-32领域。 – 2013-11-28 05:32:32