0

I use this jave code to rename the one file from

"C:\Users\mkretsch\OneDrive - Sopra Steria\_Business\2019\Schulung\Java\Oracle\test11.csv to "C:\Users\mkretsch\OneDrive - Sopra Steria\_Business\2019\Schulung\Java\Oracle\test12.csv

hello_Muenchen mu = new hello_Muenchen();

     mu.RenameFile("C:\\Users\\mkretsch\\OneDrive - Sopra Steria\\_Business\\2019\\Schulung\\Java\\Oracle\\test11.csv,"
                 , "C:\\Users\\mkretsch\\OneDrive - Sopra Steria\\_Business\\2019\\Schulung\\Java\\Oracle\\test12.csv");

With this Java code i want to rename file_name to new_filename

static void RenameFile( String file_name, String new_filename ){  
    try  
    {         
        File f= new File(file_name);           //file to be renamed
        File f_new= new File(new_filename);           //file to be delete  

        if(f.renameTo(f_new))                      //returns Boolean value  
        {  
            System.out.println(f_new.getName() + " renamed");   //getting and printing the file name  
        }  
        else  
        {  
            System.out.println("failed for " + file_name + new_filename );  
        }  
    }  
        catch(Exception e)  
    {  
    e.printStackTrace();  
    }   

}

But my code fails. I always get the
message failed for C:\Users\mkretsch\OneDrive - Sopra Steria_Business\2019\Schulung\Java\Oracle\test11.csv,C:\Users\mkretsch\OneDrive - Sopra Steria_Business\2019\Schulung\Java\Oracle\test12.csv

2 Answers2

1

You should have a look at java.nio because it is a more modern way to perform operations on the file system.

The following example renames the given file (as java.nio.Path) or throws an Exception (e.g. if the source file does not exist or is write protected):

public static void main(String[] args) {
    Path source = Paths.get(
            "C:\\Users\\mkretsch\\OneDrive - Sopra Steria_Business\\2019\\Schulung\\Java\\Oracle\\test11.csv");
    Path target = Paths.get(
            "C:\\Users\\mkretsch\\OneDrive - Sopra Steria_Business\\2019\\Schulung\\Java\\Oracle\\test12.csv");

    try {
        Files.move(source, target, StandardCopyOption.REPLACE_EXISTING);
    } catch (IOException e) {
        System.err.println("Didn't work...");
        e.printStackTrace();
    }
}

The reason for your code not working is the trailing comma in the source file, most likely...

deHaar
  • 17,687
  • 10
  • 38
  • 51
1

Your code seems okay, but From the file names:

 mu.RenameFile("C:\\Users\\mkretsch\\OneDrive - Sopra Steria\\_Business\\2019\\Schulung\\Java\\Oracle\\test11.csv,"
                 , "C:\\Users\\mkretsch\\OneDrive - Sopra Steria\\_Business\\2019\\Schulung\\Java\\Oracle\\test12.csv");

"C:\...\test11.csv," look there is an extra comma in the file name. That's why that file was not renaming.

Also check if the user has the write permission on that folder.

MD Ruhul Amin
  • 4,386
  • 1
  • 22
  • 37