欢迎加入刚建立的社区: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)、目录和文件的组合(更加灵活方便)的更多相关文章

  1. Java实现文件批量重命名

    Windows操作系统可以实现重命名文件操作,却不能实现批量重命名.本实例实现了批量重命名功能,可以将一个文件夹内同一类型的文件按照一定的规则批量重命名.用户可以给出重命名模板,程序可以根据模板对相应 ...

  2. java学习(九) —— java中的File文件操作及IO流概述

    前言 流是干什么的:为了永久性的保存数据. IO流用来处理设备之间的数据传输(上传和下载文件) java对数据的操作是通过流的方式. java用于操作流的对象都在IO包中. java IO系统的学习, ...

  3. java IO 文件批量重命名

    java IO 文件批量重命名 package com.vfsd.renamefile; import java.io.File; import java.io.FileInputStream; im ...

  4. 【问题解决方案】git中的文件的重命名

    环境: win7 git bash+GitHub 问题: 如果直接在文件夹中手动重命名,Git会判定为删除了旧文件,添加了新文件 版本回退后使用mv命令进行重命名 $ git reset --hard ...

  5. java中的File类

    File类 java中的File类其实和文件并没有多大关系,它更像一个对文件路径描述的类.它即可以代表某个路径下的特定文件,也可以用来表示该路径的下的所有文件,所以我们不要被它的表象所迷惑.对文件的真 ...

  6. 用Java中的File类模拟实现对系统文件的增删改查效果

    码字不易,三连支持一波吧 IO操作向来是各大语言的热区,而对文件的操作也是重中之重. 那么在Java中也给我们提供了很多关于文件操作的类.今天我就用一个比较基本的File类来模拟实现对文件的增删改查效 ...

  7. ASP FSO操作文件(复制文件、重命名文件、删除文件、替换字符串)

    ASP FSO操作文件(复制文件.重命名文件.删除文件.替换字符串)FSO的意思是FileSystemObject,即文件系统对象.FSO对象模型包含在Scripting 类型库 (Scrrun.Dl ...

  8. 当git上文件大小写重命名的修改时(git大小写敏感/默认不敏感),如何提交

    git默认是大小写不敏感!!! 加了感叹号是什么意思呢,意思就是这本身就是一个坑,本人使用的IDE是idea(网上说Eclipse可以避开问题),这个IDE本身就集成了git,但是如果要在termin ...

  9. linux安装PyCharm,PyCharm常用快捷键及调试模式,pycharm里面对文件夹或者文件进行重命名

    PyCharm常用快捷键及调试模式 2017年10月18日 23:13:43 菜鸟之神 阅读数:5835    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...

随机推荐

  1. Auto.js 调用系统短信、电话

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! Auto.js 调用系统短信.电话 操作 ...

  2. Apache DolphinScheduler 迎来 2 位 PPMC

    经过 Apache DolphinScheduler PPMC 们的推荐和投票,我们高兴的宣布:Apache DolphinScheduler 迎来了 2 位 PPMC .他们是(github id) ...

  3. Centroids (换根DP)

    题面 题解 删一条边.加一条边,相当于把一个子树折下来,然后嫁接在一个点上, 那么最优的情况肯定是接在根上,对吧,很好理解吧 那么这个拆下来的子树大小就不能超过n/2. 我们用son[]来表示每个点为 ...

  4. 【MySQL】从入门到精通7-设计多对多数据库

    上期:[MySQL]从入门到精通6-MySQL数据类型与官方文档 第一章:理解 和一对多不一样,多对多意思是,一个数据可以被不同的数据关联. 如果是一对多,我们还可以用外键来达成. 但是现在我们是多对 ...

  5. KingbaseES 如何开启并进入数据库

    关键字: KingbaseES.sys_ctl.ksql 一.数据库启动前环境检测 1.1 查看kingbase用户环境变量配置 图1-1 查看.bashrc环境变量配置 1.2 应用环境变量 [ki ...

  6. Linux零拷贝原理

    Linux零拷贝原理 前言 磁盘可以说是计算机系统最慢的硬件之一,读写速度相差内存 10 倍以上,所以针对优化磁盘的技术非常的多,比如零拷贝.直接 I/O.异步 I/O 等等,这些优化的目的就是为了提 ...

  7. 《Java基础——构造器(构造方法)》

    Java基础--构造器(构造方法)       总结: 1.构造器名应与类名相同,且无返回值. 2."new 方法"的本质就是在调用构造器. 3.构造器的作用--初始化对象的值. ...

  8. 使用MinIO中暂未解决的问题

    时间显示问题 web页面上创建桶的时间跟使用SDK获取的时间不一样,相差8个小时,但是mc命令行客户端获取的时间跟web上的一样

  9. windows系统下使用bat脚本文件设置MySQL系统环境变量

    说明:在一个bat文件中设置tomcat环境变量后,不能直接使用,需要另起一个bat文件才能使用 号开头的行不要写在bat文件中 # 这个bat文件实现的功能:设置环境变量 @echo off set ...

  10. centos yum安装docker

    cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo_bak wget -O /etc/yum.repos.d/CentOS-Base.r ...