Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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,我有两个文件file1.txt1和file2.txt与D:\Folder\位于同一位置。我在两个文件中都有不同的内容。现在我想将file2.txt重命名为file1.txt,并替换现有的file1.txt。这样,只剩下一个文件,名为file1.txt,内容为file2.txt。我如何在Java中做到这一点 我已经尝试了以下操作,但是第一个文件被删除,第二个文件不会被重命名 File file1 = new File("D:\\Folder\\file1.txt"); File file2 = n

我有两个文件
file1.txt1
file2.txt
D:\Folder\
位于同一位置。我在两个文件中都有不同的内容。现在我想将
file2.txt
重命名为
file1.txt
,并替换现有的
file1.txt
。这样,只剩下一个文件,名为
file1.txt
,内容为
file2.txt
。我如何在Java中做到这一点

我已经尝试了以下操作,但是第一个文件被删除,第二个文件不会被重命名

File file1 = new File("D:\\Folder\\file1.txt");
File file2 = new File("D:\\Folder\\file2.txt");
file1.delete();
file2.renameTo(new File("D:\\Folder\\file1.txt"));

非常感谢你的帮助。请找出解决办法

导入java.io.File;
导入java.io.IOException;
公共类textfile重命名{
公共静态void main(字符串[]args)引发IOException{
//文件目录
File File=新文件(“C:/Folder/”;
//读取目录内容
File[]files=File.listFiles();
字符串名称=null;
用于(文件f:文件){
//获取文件名并删除
如果(f.getName()!=null和&f.getName().equals(“file1.txt”)){
name=f.getName();
f、 删除();
//重命名文件
file.listFiles()[0]。重命名为(新文件(file.getAbsolutePath()+“\\”+名称));
}
}
}
}

您尝试过什么吗?关于如何使用Java编辑文件,有大量公开可用的资源,只需一次谷歌搜索。在Java8中它也容易得多,所以对您来说应该不会太难。如果你尝试了某件事,但没有成功,那么你可以询问你遇到了什么问题。我已经尝试了一些,但没有成功。我将添加我尝试过的内容。当你运行此代码时发生了什么?检查
delete
的返回值以确保它可以被删除-请参阅何时运行此文件1被删除,而文件2仍然存在。但是文件2是否未重命名为File1当要删除的文件名已知时,为什么要对文件夹中的所有文件进行迭代<代码>新建文件(“does.not.exist”)如果文件不存在,甚至不会引发异常。是否知道您将始终重命名在目录中找到的第一个文件(与其名称无关)?我不会将此代码称为“解决方案”。