【问题标题】:Java Rename Problem with normale Files. With i want to rename given name to a new filename [closed]正常文件的 Java 重命名问题。我想将给定名称重命名为新文件名[关闭]
【发布时间】:2020-04-09 02:13:54
【问题描述】:

我使用这个 jave 代码重命名一个文件 来自

"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

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");

使用这个 Java 代码,我想将 file_name 重命名为 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();  
    }   

}

但是我的代码失败了。我总是得到
消息失败 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

【问题讨论】:

标签: java rename


【解决方案1】:

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

以下示例重命名给定文件(如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();
    }
}

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

【讨论】:

    【解决方案2】:

    您的代码看起来不错,但从文件名来看:

     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," 看看文件名中多了一个逗号。这就是该文件没有重命名的原因。

    还要检查用户是否对该文件夹具有写入权限。

    【讨论】:

      猜你喜欢
      • 2014-08-10
      • 1970-01-01
      • 2017-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-02
      • 2014-06-01
      相关资源
      最近更新 更多