首页 > 解决方案 > Java Rename Problem with normale Files. With i want to rename given name to a new filename

问题描述

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

标签: javarename

解决方案


您应该看一下,java.nio因为它是一种在文件系统上执行操作的更现代的方式。

以下示例重命名给定文件(as java.nio.Path)或抛出一个Exception(例如,如果源文件不存在或被写保护):

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();
    }
}

您的代码不起作用的原因是源文件中的尾随逗号,很可能......


推荐阅读