java中实现File文件的重命名(renameTo)、将文件移动到其他目录下、文件的复制(copy)、目录和文件的组合(更加灵活方便)
欢迎加入刚建立的社区:http://t.csdn.cn/Q52km
加入社区的好处:
1、专栏更加明确、便于学习
2、覆盖的知识点更多、便于发散学习
3、大家共同学习进步
3、不定时的发现金红包(不多哈)
文章目录
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实现文件批量重命名
Windows操作系统可以实现重命名文件操作,却不能实现批量重命名.本实例实现了批量重命名功能,可以将一个文件夹内同一类型的文件按照一定的规则批量重命名.用户可以给出重命名模板,程序可以根据模板对相应 ...
- java学习(九) —— java中的File文件操作及IO流概述
前言 流是干什么的:为了永久性的保存数据. IO流用来处理设备之间的数据传输(上传和下载文件) java对数据的操作是通过流的方式. java用于操作流的对象都在IO包中. java IO系统的学习, ...
- java IO 文件批量重命名
java IO 文件批量重命名 package com.vfsd.renamefile; import java.io.File; import java.io.FileInputStream; im ...
- 【问题解决方案】git中的文件的重命名
环境: win7 git bash+GitHub 问题: 如果直接在文件夹中手动重命名,Git会判定为删除了旧文件,添加了新文件 版本回退后使用mv命令进行重命名 $ git reset --hard ...
- java中的File类
File类 java中的File类其实和文件并没有多大关系,它更像一个对文件路径描述的类.它即可以代表某个路径下的特定文件,也可以用来表示该路径的下的所有文件,所以我们不要被它的表象所迷惑.对文件的真 ...
- 用Java中的File类模拟实现对系统文件的增删改查效果
码字不易,三连支持一波吧 IO操作向来是各大语言的热区,而对文件的操作也是重中之重. 那么在Java中也给我们提供了很多关于文件操作的类.今天我就用一个比较基本的File类来模拟实现对文件的增删改查效 ...
- ASP FSO操作文件(复制文件、重命名文件、删除文件、替换字符串)
ASP FSO操作文件(复制文件.重命名文件.删除文件.替换字符串)FSO的意思是FileSystemObject,即文件系统对象.FSO对象模型包含在Scripting 类型库 (Scrrun.Dl ...
- 当git上文件大小写重命名的修改时(git大小写敏感/默认不敏感),如何提交
git默认是大小写不敏感!!! 加了感叹号是什么意思呢,意思就是这本身就是一个坑,本人使用的IDE是idea(网上说Eclipse可以避开问题),这个IDE本身就集成了git,但是如果要在termin ...
- linux安装PyCharm,PyCharm常用快捷键及调试模式,pycharm里面对文件夹或者文件进行重命名
PyCharm常用快捷键及调试模式 2017年10月18日 23:13:43 菜鸟之神 阅读数:5835 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...
随机推荐
- (原创)[C#] GDI+ 之鼠标交互:原理、示例、一步步深入、性能优化
一.前言 "GDI+"与"鼠标交互",乍一听好像不可能,也无从下手,但是实现原理比想象中要简单很多. 基于"GDI+"的"交互&q ...
- 前端React项目遇到【Uncaught SyntaxError: Unexpected token '<'】错误的解决方式
问题描述 前端部署好项目后,打开相应的页面显示一片空白,打开console显示 问题排查思路 理解问题的本质 出现这个错误的原因是浏览器期望得到js文件,但页面却返回了html文件,如图中的js文件点 ...
- 业界压测平台与JMeter的对比
压测平台是什么? 压测,即压力测试,作用是对各种服务对象进行压力测试以获得该服务处于或超过预期负载时系统的运行情况,进而判断系统在峰值负载或超出最大负载情况下的处理能力. 压测工具,顾名思义,就是用来 ...
- Node.js + Express + Knex 开发 API 接口
安装依赖包 npm i express knex mysql2 这是 Knex 官方文档地址:Knex.js - SQL query builder. 搭建接口 config.js 新建一个 conf ...
- Java中字节流的总结及代码练习
Java中的字节流 在描述字节流时,先知道什么是流 流可以分为:输入流和输出流 输入流和输出流 示意图: 字节流读取内容:二进制,音频,视频 优缺点:可以保证视频音频无损,效率低,没有缓冲区 字节流可 ...
- RabbitMQ 入门系列:7、保障消息不重复消费:产生消息的唯一ID。
系列目录 RabbitMQ 入门系列:1.MQ的应用场景的选择与RabbitMQ安装. RabbitMQ 入门系列:2.基础含义:链接.通道.队列.交换机. RabbitMQ 入门系列:3.基础含义: ...
- docker 匿名和具名挂载
匿名挂载,只指定容器内了,没指定容器外 -v 容器内路径 docker run -d -P --name nginx01 -v /etc/nginx nginx #-P 随机映射端口 ; -v 不指定 ...
- KingbaseES V8R3 shared_buffer占用过多导致实例崩溃
背景 有这样一个案例.客户备库意外宕机,从集群日志只看出发生了主备切换,备库一直持续恢复备库没有成功,从数据库日志看到如下报错: terminating connection because of c ...
- Gitea v1.17.0 正式发布 | 集成软件包管理器、容器镜像仓库
我们自豪地宣布 Gitea v1.17.0 发布了.本次发布带来了诸多新特性和累积的更新,我们强烈建议用户在更新到最新版本之前仔细阅读发行注记. 在 1.17.0 版本的开发中我们一共合并了 645 ...
- Elasticsearch6.2服务器升配后的bug
.suofang img { max-width: 100% !important; height: auto !important } 本篇文章记录最近一次生产服务器硬件升级之后引起集群不稳定的现象 ...