设置文件名编码

我有一个定义的编码(utf8)的输入文件,从中我创建了不同的文件,这些文件的名称和内容(再次是utf8)取自该输入文件。

我的问题是一个特定的Windows系统创建的文件没有正确的字符。这些文件的内容可读性很强,但名称却不可读。而是Ü.xml使用文件名├£.xml

在其他Windows系统上,一切正常。

可以在OutputStreamWriter的第二个参数中设置文件内容的编码,但是new File(name)似乎无法设置文件名的编码。

谢谢。

回答:

看到两个字符,应该有一个UTF-8多字节字符ü。Windows似乎没有UTF-8作为文件编码。然后将UTF-8文件复制到该系统上,例如将zip文件解压缩。

System.getProperty("file.encoding")应该给平台编码。也许可以想象,这是Java

resp未涵盖的某种奇怪情况。Windows,例如压缩目录,或使用不支持UTF-8的文件系统格式化的第二个外部磁盘。

以上是 设置文件名编码 的全部内容, 来源链接: utcz.com/qa/417532.html

回到顶部