当前位置: 首页 > 面试题库 >

设置文件名编码

干高歌
2023-03-14
问题内容

我有一个定义的编码(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的文件系统格式化的第二个外部磁盘。



 类似资料:
  • 问题内容: 我正在使用logback,并且尝试在Java程序中以编程方式设置日志文件名(类似于以编程方式设置LogbackAppender路径),并且我尝试按以下方法调整该解决方案: 在logback-test.xml中: 然后再次在我的Java程序中: 但是结果是两个日志,一个完整并按我的意愿命名,例如“ 1319041145343.log”,另一个为空并命名为“ log_file_name_I

  • 我的代码如下: 属性包括: 主机=smtp.gmail.com mail.smtp.auth=true mail.smtp.starttls.enable=true mail.smtp.host=smtp.gmail.com mail.smtp.port=587 mail.mime.charset=UTF-8 注意:文本在发送之前没有损坏。message.getSubject()打印出来的是干净的

  • 有人知道是否有一种简单的方法可以根据模型中的一个字段使文件接收器的文件名元素路径成为变量吗?因此,而不是使用修复路径,例如: 修复了路径/文件名。csv {variable_path}/filename。csv

  • 4.5.3 编码设置话题名称 话题的名称与节点的命名空间、节点的名称是有一定关系的,话题名称大致可以分为三种类型: 全局(话题参考ROS系统,与节点命名空间平级) 相对(话题参考的是节点的命名空间,与节点名称平级) 私有(话题参考节点名称,是节点名称的子级) 结合编码演示具体关系。 1.C++ 实现 演示准备: 1.初始化节点设置一个节点名称 ros::init(argc,argv,"hello"

  • 我有一个spring批处理作业(用xml定义),它生成csv导出。在FlatFileItemWriter bean中,我正在设置resource,其中设置了文件名。 现在我需要考虑到某种逻辑来设置这个文件名,所以我需要从某个java类中设置文件名。有什么想法吗?