Henri
Henri

Reputation: 17

Rename multiple folders with different names in Java

With this code, I can rename two Folders:

   public static void main(String[] args)
   {
     RenameFolder  f = new RenameFolder();
     f.RenameFolder();    
   }

   private void RenameFolder()
   {
       File f1= new File("C:\\Users\\Nm\\Desktop\\Lauer");
       File f2= new File("C:\\Users\\Nm\\Desktop\\Axeler");

       try {
           if(f1.exists()) {
               f1.renameTo(f2);
               System.out.println("Folder " +f1.getName()+
                                   " was changed into " +f2.getName() +"..." );
           } else {
               f1.mkdir();
               System.out.println("Folder " +f1.getName()+ " was created..." );
           }
       } catch(Exception e) {
           e.printStackTrace();
       }
   }
}

How can I do that when I have to rename over thousand folders with names? For example:

raro -> noto
mano -> kaoto
Daum -> Loeme
Gato -> Rate
Ta+To -> Mo~no
etc...

Upvotes: 1

Views: 445

Answers (1)

D. Islam
D. Islam

Reputation: 56

put all the folder names in an array and loop through the array to rename all folders.

   private void RenameFolder()
   {
       ArrayList CurrentName=new ArrayList();
       ArrayList NewName=new ArrayList();


       CurrentName.add(path);
       NewName.add(path);
       //repeat about two lines for as many folders you want.

       for(int i=0;i<CurrentName.size()-1;i++){

          File f1= new File(CurrentName.get(i));
          File f2= new File(NewName.get(i));

           try {
              if(f1.exists()) {
                 f1.renameTo(f2);
                 System.out.println("Folder " +f1.getName()+
                                   " was changed into " +f2.getName() +"..." );
            } else {
               f1.mkdir();
               System.out.println("Folder " +f1.getName()+ " was created..." );
           }
       } catch(Exception e) {
           e.printStackTrace();
       }

       }

   }

Upvotes: 1

Related Questions