如何将文件列表移动到某个目录

How to move list of files to some directory

我想将一个目录中的文件列表移动到另一个目录。我可以看到将单个文件移动到另一个目录的代码。但是我想以高效的方式将一个目录中的所有文件移动到另一个目录,因为我需要移动批量文件。

尝试了以下代码:

        Path temp = Files.move
        (Paths.get("C:\******\Test\1.txt"),  
        Paths.get("C:\********\Test\Archieve\1.txt")); 

        if(temp != null) 
        { 
            System.out.println("File renamed and moved successfully"); 
        } 
        else
        { 
            System.out.println("Failed to move the file"); 
        } 

这应该有效:

File folder = new File("your/path");
File[] listOfFiles = folder.listFiles();    // --> Get names of all the files in your folder

listOfFiles.forEach((file) ->  {        // --> Iterate through the filenames and move
Path moveFile = Files.move(Paths.get("C:\OldFilePath\"+file.getName()),Paths.get("C:\NewFilePath\"+file.getName()))

if(fileMove != null)     // --> Verify that the file is moved successfully
   { 
      System.out.println("File moved successfully"); 
   } 
   else
   { 
      System.out.println("Failed to move the file"); 
   } 
});

试试这个代码:

在继续编写代码之前,我们必须导入适当的 java packages.Like this :

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.*;

现在我们进入编码部分,首先我们必须指定要从中移动文件的文件夹的路径:

String str_source = "D:\temp";

然后我们将指定要移动文件的文件夹的路径。为此:

String str_target = "D:\temp1\";

然后我们列出原始文件夹中的所有文件。去做这个 : 1.必须将原始文件夹名称传递给文件对象。 2. 使用该对象从文件夹中获取文件列表到文件数组中。

File directory = new File(str_source);
File[] filesList = directory.listFiles();

然后我们必须将文件从一个文件夹移动到另一个文件夹。

Path result = null;
try
{
    for(File file:filesList)
    {
        result = Files.move(Paths.get(file.getPath().toString()), Paths.get(str_target+file.getName().toString()));
    }
}
catch(IOException e)
{
    System.out.println("Exception while moving file: " + e.getMessage());
}
if(result != null) 
{
    System.out.println("File moved successfully.");
}
else
{
    System.out.println("File movement failed.");
}

整个代码如下:

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.*;
public class filemovetest {
   public static void main(String[] args) 
   {
      String str_source = "D:\temp";
      String str_target = "D:\temp1\";
      File directory = new File(str_source);
      File[] filesList = directory.listFiles();

      for(File file:filesList)
      {
          System.out.println(file.getPath());
      }

      Path result = null;
      try 
      {
         for(File file:filesList)
         {
             result = Files.move(Paths.get(file.getPath().toString()), Paths.get(str_target+file.getName().toString()));
         }
      } 
      catch (IOException e) 
      {
         System.out.println("Exception while moving file: " + e.getMessage());
      }
      if(result != null) 
      {
         System.out.println("File moved successfully.");
      }
      else
      {
         System.out.println("File movement failed.");
      }  
   }

}

希望这对您有所帮助:)