如何在Java中重命名文件?

如何在Java中重命名文件?,java,io,rename,Java,Io,Rename,我的目的是重命名一个文件。我正在做的是:我正在搜索文本文件中的特定字符串。在这么多的文件中,如果找到了特定的文本,那么我想用给定的字符串重命名该文本文件 以下是我尝试过的: String opcode="OPCODES"; // String that I want to search. File file = new File("D:\\CFF1156"); // All files are inside this folder. System.out.print

我的目的是重命名一个文件。我正在做的是:我正在搜索文本文件中的特定字符串。在这么多的文件中,如果找到了特定的文本,那么我想用给定的字符串重命名该文本文件

以下是我尝试过的:

    String opcode="OPCODES";   // String that I want to search.
    File file = new File("D:\\CFF1156");  // All files are inside this folder.
    System.out.println("The File Name is :"+file.getName());
    File[] f = file.listFiles();
    System.out.println("The Length of File is :"+f.length);
    Boolean flag=false;
    StringBuffer contents = new StringBuffer();
    BufferedReader reader = null;

    for(int i=0;i<f.length;i++)
    {
        try{
            reader = new BufferedReader(new FileReader(f[i]));
            String text = null;

            while ((text = reader.readLine()) != null)
            {
                if(text.contains(opcode))
                {
                    System.out.println("Found");
                    System.out.println("The File Containing the Search text is :"+f[i]);
                    f[i].renameTo(new File("D://CFF1156/changed.txt"));
                    System.out.println("renamed :"+(f[i].renameTo(new File("D://CFF1156/changed.txt"))));
                    if(f[i].renameTo(new File("D://CFF1156/changed.txt")))
                    {
                        System.out.println("Successfully renamed");
                    }
                    else
                    {
                        System.out.println("Error");
                    }
                }
            }
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }
        finally
        {
            try
            {
                if (reader != null)
                {
                    reader.close();
                }
            } 
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
    }
String opcode=“opcode”;//我要搜索的字符串。
文件=新文件(“D:\\CFF1156”);//所有文件都在此文件夹中。
System.out.println(“文件名为:“+File.getName()”);
File[]f=File.listFiles();
System.out.println(“文件长度为:“+f.Length”);
布尔标志=假;
StringBuffer内容=新的StringBuffer();
BufferedReader reader=null;

对于(int i=0;i在循环中使用相同的名称重命名。首先修复该问题。此外,通过
renameTo()在变量中获取返回的
boolean
方法,并在循环中使用
中的该变量(如果要使用相同的名称重命名)。首先修复该问题。此外,通过
重命名()在变量中获取返回的
布尔值
方法,并在
中使用该变量,如果

我很难读取给定的代码,但是
文件上有一个
重命名为
方法()。请注意,它接受一个表示所需路径名的文件对象,并返回一个布尔值。

我很难按照给定的方式读取代码,但是
文件(
)上有一个
重命名为
方法。请注意,它接受一个表示所需路径名的文件对象,并返回一个布尔值。

来自renameTo的Javadoc

…,它可能不是原子的,而且 如果文件具有 目标抽象路径名已存在 存在


在第二个renameTo命令中检查返回的布尔值。删除所有renameTo命令,或存储第一个命令的布尔值,并将此布尔值打印到控制台。

来自renameTo的Javadoc

…,它可能不是原子的,而且 如果文件具有 目标抽象路径名已存在 存在


您可以在第二个renameTo命令中检查返回的布尔值。删除所有renameTo命令,或者存储第一个命令的布尔值并将此布尔值打印到控制台。

首先,您有时在Mac上使用\和其他时间使用//,im,因此不确定在Windows上应该使用什么。 其次,将所有文件重命名为相同的名称

修正:

boolean重命名=f[i].renameTo(新文件(“D://CFF1156/changed”+i+.txt”);

System.out.println(重命名为?“成功重命名”:“错误”);

首先,您有时在Mac上使用\和其他时间//,因此不确定在Windows上应该使用什么。 其次,将所有文件重命名为相同的名称

修正:

boolean重命名=f[i].renameTo(新文件(“D://CFF1156/changed”+i+.txt”);

System.out.println(重命名为?“成功重命名”:“错误”);

他正在使用相同的名称,但在循环中用相同的名称重命名它。:)他正在使用相同的名称,但在循环中用相同的名称重命名它。:)您应该缩短示例代码,使其仅包含与您的问题相关的代码您应该缩短示例代码,使其仅包含与您的问题相关的代码恭喜您理解了那碗意大利面。恭喜您理解了那碗意大利面。