无法重命名文件

时间:2013-04-16 10:03:41

标签: java jsp multipartform-data

问候,目前我正在使用OReilly MultipartRequest类,我想在上传之前重命名完整的文件名。

MultipartRequest m = new MultipartRequest(request, Path,5024 * 1024, new FileRenamePolicy() {
                    @Override
                    public File rename(File arg0) {
                        boolean result = arg0.renameTo(new File(arg0
                                .getParentFile() + "title"));
                        if (result) {
                            System.out.println("Renamed");
                        }
                        return arg0;
                    }
                });

但每次结果都是假的。请指导我哪里错了。我是java技术的新手

3 个答案:

答案 0 :(得分:0)

检查

  1. 用于JVM的写访问
  2. for read-only-filesystem
  3. 目标文件尚不存在
  4. target-filename是好的
  5. 源文件存在
  6. 源文件未写入锁定
  7. 源文件未在其他编辑器中打开
  8. 可以删除源文件 ......等等等等等等

    这有帮助吗?

答案 1 :(得分:0)

试试这个......

boolean result = arg0.renameTo(new File(arg0.getParentFile(), "title"));

或者这......(注意文件分隔符)

boolean result = arg0.renameTo(new File(arg0
        .getParentFile().getAbsolutePath() + File.separator + "title"));

如果它已经存在,您可能需要立即将其删除,然后再尝试重命名 ...

File newFile = new File(arg0.getParentFile(), "title");
if (newFile.exists()) newFile.delete();

答案 2 :(得分:0)

查看文档 Returns a File object holding a new name for the specified file.试试这个:

public File rename(File arg0) {
    return new File(arg0.getParentFile() + "title"));
}