【问题标题】:File Not Found for File with Turkish Characters找不到带有土耳其字符的文件的文件
【发布时间】:2014-03-24 18:42:36
【问题描述】:

我在使用 File 和 FileInputStream 时遇到问题。我有一个 Web 应用程序,允许用户附加文件(我存储在服务器文件系统上),然后在他们想要下载它们时将它们流回。

已附加一个名称中包含土耳其字符和空格的文件。该错误与 Linux 文件系统上的文件同名,但我得到一个:java.io.FileNotFoundException,没有这样的文件或目录。作为附加过程的一部分,该文件已正确上传并成功重命名为当前名称。没有土耳其字符的文件可以正常工作。

我知道这听起来像是土耳其语字符,但为什么它首先能够重命名为土耳其语名称。

这是给客户(在土耳其),但我有屏幕截图显示错误消息和文件系统的目录,并且名称似乎匹配。

有谁知道问题出在哪里。

谢谢 保罗

编辑:

复制过程涉及创建一个新的文件对象(附件对象包含将使用的文件名的详细信息)

new File(attachmentDir + SEPARATOR + attachment.getID()+(StringUtils.isBlank(attachment.getIssueKey())?"":"_"+attachment.getFileName()));

然后使用

从临时目录移动
file.renameTo(attachmentFile);

【问题讨论】:

  • 显示你用来生成文件名的代码

标签: java file io


【解决方案1】:

找不到答案,因此退回到通过附加到每个文件名前面的唯一编号过滤目录列表。不理想,但至少可以解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 2014-01-21
    • 1970-01-01
    相关资源
    最近更新 更多