java中实现File文件的重命名(renameTo)、将文件移动到其他目录下、文件的复制(copy)、目录和文件的组合(更加灵活方便)

2022-12-01,,,,

欢迎加入刚建立的社区:http://t.csdn.cn/Q52km
加入社区的好处:
1、专栏更加明确、便于学习
2、覆盖的知识点更多、便于发散学习
3、大家共同学习进步
3、不定时的发现金红包(不多哈)

文章目录

1、文件重命名操作
1.1 renameTo()方法
1.2 代码实例
1.3 实际运用
1.4 测试效果
2、文件的移动(移动文件后、原路径下文件不存在)
2.1 代码实例
2.2 测试效果
3、文件的复制移动(移动文件后、原路径下文件存在 )
3.1 copy()方法
3.2 代码实例
3.3 实际运用
3.4 测试效果

1、文件的重命名操作

1.1 renameTo()方法

boolean renameTo(File dest) :重命名由此抽象路径名表示的文件。
参数 :dest - 命名文件的新抽象路径名
结果 :true当且仅当重命名成功; false否则

第一种使用场景:文件重命名

1.2 代码实例

    //组合原始文件的绝对路径
File fixFile = new File(PreFileDir + "/" + fixFileName);
File newFile = new File(PreFileDir + "/" + newFileName);
//重命名操作
Boolean flag = fixFile.renameTo(newFile);

1.3 实际运用

package com.autobranch.ibank.TestFile;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files; public class TestRemoveFile { private String PreFileDir = "E:\\data\\sp\\FSN";
private String fixFileName = "zheng.txt"; //文件重命名
public Boolean renameFixFile(String newFileName) { try {
//组合原始文件的绝对路径
File fixFile = new File(PreFileDir + "/" + fixFileName);
File newFile = new File(PreFileDir + "/" + newFileName);
//重命名操作
Boolean flag = fixFile.renameTo(newFile);
System.out.println(newFile.exists()); if (flag) {
return true;
} else {
return false;
} } catch (Exception e) {
e.printStackTrace();
} return false;
} public static void main(String[] args) {
TestRemoveFile File = new TestRemoveFile();
Boolean flag = File.renameFixFile("zyz.txt");
System.out.println("是否重命名成功:" + flag);
}
}

1.4 测试效果


2、文件的移动(移动文件后、原路径下文件不存在)

renameTo(File dest): 该方法的行为的许多方面固有地依赖于平台:重命名操作可能无法将文件从一个文件系统移动到另一个文件系统,它可能不是原子的,如果具有目标抽象路径名的文件可能无法成功已经存在。 应始终检查返回值,以确保重命名操作成功。

renameTo的第二种使用场景:将文件从一个路径移动到另一个路径下 ,并且移动的文件进行重命名【文件移动重命名】
注意:移动后的文件、原始目录下是不存在的

2.1 代码实例

package com.autobranch.ibank.TestFile;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files; public class TestRemoveFile { private String PreFileDir = "E:\\data\\sp\\FSN";
private String targetFileDir = "E:\\data\\sp\\zheng";
private String fixFileName = "zheng.txt"; //文件重命名
public Boolean renameFixFile(String newFileName) { try {
//组合原始文件的绝对路径
File fixFile = new File(PreFileDir + "/" + fixFileName);
File newFile = new File(PreFileDir + "/" + newFileName);
//重命名操作
Boolean flag = fixFile.renameTo(newFile);
System.out.println(newFile.exists()); if (flag) {
//还需要将重命名的文件移动到指定的位置
String TargetFileDir = targetFileDir + "/" + newFile.getName();
System.out.println(TargetFileDir); File fixFileDir = new File(newFile.getAbsolutePath());
File targetFileDir = new File(TargetFileDir); if (targetFileDir.exists()) {
targetFileDir.delete();
} Boolean rmoveFlag = fixFileDir.renameTo(targetFileDir);
if (rmoveFlag) {
System.out.println("移动成功");
return true;
} else {
System.out.println("移动失败");
} } else {
return false;
} } catch (Exception e) {
e.printStackTrace();
} return false;
} public static void main(String[] args) {
TestRemoveFile File = new TestRemoveFile();
Boolean flag = File.renameFixFile("zyz.txt");
System.out.println("是否重命名成功:" + flag);
}
}

2.2 测试效果



3、文件的复制移动(移动文件后、原路径下文件存在 )

3.1 copy()方法

copy(Path source, Path target, CopyOption… options): 将文件复制到目标文件。
参数 :source - 要复制的文件的路径 。target - 目标文件的路径(可能与源路径的不同提供程序相关联) 。options - 指定副本应如何完成的选项
结果 :目标文件的路径

3.2 代码实例

    //文件移动到指定文件
private Boolean copyFile(String filename, String oldpath, String newpath) {
try {
File oldPaths = new File(oldpath + "/" + filename);
File newPaths = new File(newpath + "/" + filename); if (!newPaths.exists()) {
Files.copy(oldPaths.toPath(), newPaths.toPath());
} else {
newPaths.delete();
Files.copy(oldPaths.toPath(), newPaths.toPath());
return true;
} } catch (IOException e) {
e.printStackTrace(); }
return false;
}

3.3 实际运用

package com.autobranch.ibank.TestFile;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files; public class TestRemoveFile { private String PreFileDir = "E:\\data\\sp\\FSN";
private String targetFileDir = "E:\\data\\sp\\zheng";
private String fixFileName = "zheng.txt"; //文件移动到指定文件
private Boolean copyFile(String filename, String oldpath, String newpath) {
try {
File oldPaths = new File(oldpath + "/" + filename);
File newPaths = new File(newpath + "/" + filename); if (!newPaths.exists()) {
Files.copy(oldPaths.toPath(), newPaths.toPath());
} else {
newPaths.delete();
Files.copy(oldPaths.toPath(), newPaths.toPath());
return true;
} } catch (IOException e) {
e.printStackTrace(); }
return false;
} //文件重命名
public Boolean renameFixFile(String newFileName) { try {
//组合原始文件的绝对路径
File fixFile = new File(PreFileDir + "/" + fixFileName);
File newFile = new File(PreFileDir + "/" + newFileName);
//重命名操作
Boolean flag = fixFile.renameTo(newFile);
System.out.println(newFile.exists()); if (flag) { // 调用方法进行复制移动
Boolean copyFlag = this.copyFile(newFileName,PreFileDir,targetFileDir);
if(copyFlag){
System.out.println("移动成功");
return true;
}else{
return false;
} } else {
return false;
} } catch (Exception e) {
e.printStackTrace();
} return false;
} public static void main(String[] args) {
TestRemoveFile File = new TestRemoveFile();
Boolean flag = File.renameFixFile("zyz.txt");
System.out.println("是否重命名成功:" + flag);
}
}

3.4 测试效果


java中实现File文件的重命名(renameTo)、将文件移动到其他目录下、文件的复制(copy)、目录和文件的组合(更加灵活方便)的相关教程结束。

《java中实现File文件的重命名(renameTo)、将文件移动到其他目录下、文件的复制(copy)、目录和文件的组合(更加灵活方便).doc》

下载本文的Word格式文档,以方便收藏与打印。