【发布时间】: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);
【问题讨论】:
-
显示你用来生成文件名的代码