【问题标题】:How can I move files to another folder with java?如何使用 java 将文件移动到另一个文件夹?
【发布时间】:2018-08-24 19:42:00
【问题描述】:

我想将文件(图像)从一个文件夹移动到另一个文件夹:

例如:

/home/folder1/image.png

/home/folder1/folder2/image.png

显然从文件夹中删除图像1

我试图通过读取路径然后修改它,或者使用 renameTo 来做到这一点,但我做不到。

希望有人能帮帮我,谢谢。

编辑:

好吧,我可以输入代码,但解释我所做的很简单:

我刚刚创建了一个文件夹类,其中包含我的文件夹 (/home/folder1) 的文件对象,我读取了里面的所有图像并将其保存在一个文件数组中,然后我扫描它并尝试更改每个文件的路径图像文件字符串到另一个

编辑:

感谢大家的帮助,都是很好的例子,我能够将我的文件更改到另一个位置,我想移动一堆文件,所以我不想创建太多的对象。

【问题讨论】:

标签: java file


【解决方案1】:

您说您尝试了 renameTo 但没有成功,但这对我有用。重命名后,我删除了原始文件。

File a = new File("C:\\folderA\\A.txt");
a.renameTo(new File("C:\\folderB\\" + a.getName()));
a.delete();

【讨论】:

  • renameTo 对同一物理磁盘有限制。所以在磁盘之间移动会失败。
【解决方案2】:

Commons-io 在 FileUtils 类中有一些方法可以帮助您。

http://commons.apache.org/proper/commons-io/javadocs/api-release/index.html?org/apache/commons/io/package-summary.html

示例: FileUtils.moveFile(src, dest);

【讨论】:

    【解决方案3】:

    解决此问题的常用方法是复制文件,然后将其从原始位置删除,但您可以关注tutorial 以获取更多信息。另外,平台(linux,windows,不重要)。

    【讨论】:

      【解决方案4】:

      我没有运行它,但它应该可以工作

      File f1 = new File("/home/folder1/image.png");
      File f2 = new File("/home/folder1/folder2/image.png");
      
      f1.renameTo(f2);
      

      【讨论】:

        【解决方案5】:

        您有很多方法可以做到这一点。 这个 sn-p 就是其中之一,你可以像这样移动你的文件:

        try {
            final File myFile = new File("C:\\folder1\\myfile.txt");
            if(myFile.renameTo(new File("C:\\folder2\\" + myFile.getName()))) {
                System.out.println("File is moved successful!");
            } else {
                System.out.println("File is failed to move!");
            }
        }catch(Exception e){
            e.printStackTrace();
        }
        

        【讨论】:

          【解决方案6】:

          在 java 8+ 中,您可以简单地使用来自 nio 的 Files.move

          try {
              Path source = Paths.get("/home/folder1/image.png");
              Path dest = Paths.get("/home/folder1/folder2/image.png");
              Files.move(source, dest);
          } catch (IOException e) {
              ...
          }
          

          路径甚至可以来自不同的文件系统提供者(即 ZipFileSystem)。

          【讨论】:

            猜你喜欢
            • 2019-01-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-09-12
            • 1970-01-01
            • 2022-10-25
            相关资源
            最近更新 更多