Dolly
Dolly

Reputation: 107

How to move specific files to new folder in java

I want to move 4 files having file name as FGA to new folder

public void delete(String DirectoryName) {
         String dir = DirectoryName;

         File file = new File(dir);

         boolean recursive = true;

         Collection files = FileUtils.listFiles(file, null, recursive);

         for (Iterator iterator = files.iterator(); iterator.hasNext();) {
                File file1 = (File) iterator.next();
                if (file1.getName().contains("FGA_"))
                      file1.delete();
                else if (file1.getName().contains("UPP_"))
                      file1.delete();

         }
         System.out.println("Files deleted");
   }

Upvotes: 2

Views: 236

Answers (1)

Ryuzaki L
Ryuzaki L

Reputation: 39978

I do see you are using commons.apache.org library, so you can use moveFile from there

public static void moveFile(File srcFile,
        File destFile)
                 throws IOException

or from jdk Files

public static Path move​(Path source,
                    Path target,
                    CopyOption... options)
             throws IOException

Here is your code changes by using apache commons

 for (Iterator iterator = files.iterator(); iterator.hasNext();) {
            File file1 = (File) iterator.next();
            if (file1.getName().contains("FGA_"))
                  FileUtils.moveFile(file1, new File("destination"));
            else if (file1.getName().contains("UPP_"))
                  FileUtils.moveFile(file1, new File("destination"));
     }

Upvotes: 2

Related Questions