我在使用File和FileInputStream时遇到问题。我有一个Web应用程序,允许用户附加文件(我存储在服务器文件系统上),然后当他们想要下载它们时我将它们流回来。
已附加名称中包含土耳其字符和空格的文件。该错误与Linux文件系统上的文件同名,但我得到:java.io.FileNotFoundException,没有这样的文件或目录。作为附加过程的一部分,文件已正确上载并成功重命名为其当前名称。没有土耳其字符的文件可以正常工作。
我知道这听起来像土耳其人的角色但是为什么这首先可以重命名为土耳其名字。
这是针对一个客户(在土耳其)但我有屏幕截图显示错误消息和文件系统的目录,并且名称似乎匹配。
有谁知道问题可能是什么。
由于 保罗
编辑:
复制过程涉及创建新的File对象(附件对象具有将使用的文件名的详细信息)
new File(attachmentDir + SEPARATOR + attachment.getID()+(StringUtils.isBlank(attachment.getIssueKey())?"":"_"+attachment.getFileName()));
然后使用
从临时目录移动file.renameTo(attachmentFile);
答案 0 :(得分:0)
无法找到答案,所以回过头来通过附加到每个文件名前面的唯一编号过滤目录列表。不理想,但至少可以解决。