Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java修改文件名_Java_File - Fatal编程技术网

使用java修改文件名

使用java修改文件名,java,file,Java,File,我正在解析文件名和密码,现在我需要修改文件名并返回修改后的文件名 import java.io.File; import java.io.IOException; public class Main { public static String renameFile(String fileName, String password) throws IOException { String new_name="modified"; File

我正在解析文件名和密码,现在我需要修改文件名并返回修改后的文件名

import java.io.File;
import java.io.IOException;

public class Main
{
   public static String renameFile(String fileName, String password)
           throws IOException {
       String new_name="modified";
       File oldFile = new File(fileName);
       File newFile = new File(new_name);

       if(oldFile.renameTo(newFile)){
           return newFile.getName();
       }
       return null;

   }

   public static void main(String[] args) throws IOException {
       System.out.println(renameFile("C:\\Users\\RSk\\Desktop\\NAR.pdf","none"));
   }

}


但是我不能再继续下去了。任何帮助都将不胜感激。

首先用旧名称创建文件的
文件对象,然后重命名它,尝试以下操作:

public static String renameFile(String fileName, String password) {
        String prefix = fileName.substring(0, fileName.lastIndexOf("\\")+1); //path of file
        String extension = fileName.substring(fileName.lastIndexOf(".")); //extension
        String new_name= prefix+"modified"+extension;
        File oldFile = new File(fileName);
        File newFile = new File(new_name);  //you cannot use string to rename so you need to create a file object with that new name

        if(oldFile.renameTo(newFile)){
            return newFile.getName();
        }
        return null;
    }
用法:

public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter file name");
        String fileName = scanner.nextLine();
        System.out.println("Enter password");
        String password = scanner.nextLine();

        System.out.println(renameFile(fileName,password));

}
p.S:您还需要确保
new\u name
也应该是正确的路径(您想要文件的位置),否则将通过重命名将其移动到默认文件夹


您需要先用旧名称创建一个
文件
对象,然后将其重命名为
新名称
。您不能对字符串调用
renameTo
。您没有使用密码;你为什么要提到它?@ernest_k我对java不熟悉,只是学习我的输出为空,我已经更新了,我的代码@Mustanhsan如何通过从用户获取输入来实现这一点?对不起,我对java完全陌生。学习java并同时使用它您希望输入什么文件名和密码作为输入。我还更新了我的问题代码,我的输出为空。@saikrishnad我已经更新了我的答案,请检查这两种方法