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

1、文件的重命名操作

1.1 renameTo()方法

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

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

1.2 代码实例

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

1.3 实际运用

  1. package com.autobranch.ibank.TestFile;
  2. import java.io.File;
  3. import java.io.IOException;
  4. import java.nio.file.Files;
  5. public class TestRemoveFile {
  6. private String PreFileDir = "E:\\data\\sp\\FSN";
  7. private String fixFileName = "zheng.txt";
  8. //文件重命名
  9. public Boolean renameFixFile(String newFileName) {
  10. try {
  11. //组合原始文件的绝对路径
  12. File fixFile = new File(PreFileDir + "/" + fixFileName);
  13. File newFile = new File(PreFileDir + "/" + newFileName);
  14. //重命名操作
  15. Boolean flag = fixFile.renameTo(newFile);
  16. System.out.println(newFile.exists());
  17. if (flag) {
  18. return true;
  19. } else {
  20. return false;
  21. }
  22. } catch (Exception e) {
  23. e.printStackTrace();
  24. }
  25. return false;
  26. }
  27. public static void main(String[] args) {
  28. TestRemoveFile File = new TestRemoveFile();
  29. Boolean flag = File.renameFixFile("zyz.txt");
  30. System.out.println("是否重命名成功:" + flag);
  31. }
  32. }

1.4 测试效果



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

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

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

2.1 代码实例

  1. package com.autobranch.ibank.TestFile;
  2. import java.io.File;
  3. import java.io.IOException;
  4. import java.nio.file.Files;
  5. public class TestRemoveFile {
  6. private String PreFileDir = "E:\\data\\sp\\FSN";
  7. private String targetFileDir = "E:\\data\\sp\\zheng";
  8. private String fixFileName = "zheng.txt";
  9. //文件重命名
  10. public Boolean renameFixFile(String newFileName) {
  11. try {
  12. //组合原始文件的绝对路径
  13. File fixFile = new File(PreFileDir + "/" + fixFileName);
  14. File newFile = new File(PreFileDir + "/" + newFileName);
  15. //重命名操作
  16. Boolean flag = fixFile.renameTo(newFile);
  17. System.out.println(newFile.exists());
  18. if (flag) {
  19. //还需要将重命名的文件移动到指定的位置
  20. String TargetFileDir = targetFileDir + "/" + newFile.getName();
  21. System.out.println(TargetFileDir);
  22. File fixFileDir = new File(newFile.getAbsolutePath());
  23. File targetFileDir = new File(TargetFileDir);
  24. if (targetFileDir.exists()) {
  25. targetFileDir.delete();
  26. }
  27. Boolean rmoveFlag = fixFileDir.renameTo(targetFileDir);
  28. if (rmoveFlag) {
  29. System.out.println("移动成功");
  30. return true;
  31. } else {
  32. System.out.println("移动失败");
  33. }
  34. } else {
  35. return false;
  36. }
  37. } catch (Exception e) {
  38. e.printStackTrace();
  39. }
  40. return false;
  41. }
  42. public static void main(String[] args) {
  43. TestRemoveFile File = new TestRemoveFile();
  44. Boolean flag = File.renameFixFile("zyz.txt");
  45. System.out.println("是否重命名成功:" + flag);
  46. }
  47. }

2.2 测试效果



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

3.1 copy()方法

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

3.2 代码实例

  1. //文件移动到指定文件
  2. private Boolean copyFile(String filename, String oldpath, String newpath) {
  3. try {
  4. File oldPaths = new File(oldpath + "/" + filename);
  5. File newPaths = new File(newpath + "/" + filename);
  6. if (!newPaths.exists()) {
  7. Files.copy(oldPaths.toPath(), newPaths.toPath());
  8. } else {
  9. newPaths.delete();
  10. Files.copy(oldPaths.toPath(), newPaths.toPath());
  11. return true;
  12. }
  13. } catch (IOException e) {
  14. e.printStackTrace();
  15. }
  16. return false;
  17. }

3.3 实际运用

  1. package com.autobranch.ibank.TestFile;
  2. import java.io.File;
  3. import java.io.IOException;
  4. import java.nio.file.Files;
  5. public class TestRemoveFile {
  6. private String PreFileDir = "E:\\data\\sp\\FSN";
  7. private String targetFileDir = "E:\\data\\sp\\zheng";
  8. private String fixFileName = "zheng.txt";
  9. //文件移动到指定文件
  10. private Boolean copyFile(String filename, String oldpath, String newpath) {
  11. try {
  12. File oldPaths = new File(oldpath + "/" + filename);
  13. File newPaths = new File(newpath + "/" + filename);
  14. if (!newPaths.exists()) {
  15. Files.copy(oldPaths.toPath(), newPaths.toPath());
  16. } else {
  17. newPaths.delete();
  18. Files.copy(oldPaths.toPath(), newPaths.toPath());
  19. return true;
  20. }
  21. } catch (IOException e) {
  22. e.printStackTrace();
  23. }
  24. return false;
  25. }
  26. //文件重命名
  27. public Boolean renameFixFile(String newFileName) {
  28. try {
  29. //组合原始文件的绝对路径
  30. File fixFile = new File(PreFileDir + "/" + fixFileName);
  31. File newFile = new File(PreFileDir + "/" + newFileName);
  32. //重命名操作
  33. Boolean flag = fixFile.renameTo(newFile);
  34. System.out.println(newFile.exists());
  35. if (flag) {
  36. // 调用方法进行复制移动
  37. Boolean copyFlag = this.copyFile(newFileName,PreFileDir,targetFileDir);
  38. if(copyFlag){
  39. System.out.println("移动成功");
  40. return true;
  41. }else{
  42. return false;
  43. }
  44. } else {
  45. return false;
  46. }
  47. } catch (Exception e) {
  48. e.printStackTrace();
  49. }
  50. return false;
  51. }
  52. public static void main(String[] args) {
  53. TestRemoveFile File = new TestRemoveFile();
  54. Boolean flag = File.renameFixFile("zyz.txt");
  55. System.out.println("是否重命名成功:" + flag);
  56. }
  57. }

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. 万答#3,MGR最佳配置参考,PFS里的监测指标要全开吗,mysqld进程占用内存过高怎么排查

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 问题1,有推荐的MGR运行最佳配置参考吗 在「3306π」社区广州站5月22日的分享会上,万里数据库CTO娄帅给出了他建议 ...

  2. 数据分表Mybatis Plus动态表名最优方案的探索

    一.应用场景 大家在使用Mybatis进行开发的时候,经常会遇到一种情况:按照月份month将数据放在不同的表里面,查询数据的时候需要跟不同的月份month去查询不同的表. 但是我们都知道,Mybat ...

  3. mysql 8.0.28 查询语句执行顺序实测结果

    TL;NRs 根据实测结果,MySQL8.0.28 中 SQL 语句的执行顺序为: (8) SELECT (5) DISTINCT <select_list> (1) FROM <l ...

  4. MySQL 数据定义语句

    表相关 修改表名 alter table grade rename hang; 新增表字段 alter table grade add `name` varchar(100); 修改表字段类型 alt ...

  5. Mybatis框架--优化过程

    0. 原代码预览 简单实现在数据库中插入数据 public void testInsert() throws IOException { //获取核心配置文件的输入流 InputStream is = ...

  6. 垃圾收集器 参阅<<深入理解JAVA虚拟机>>

    一.新生代 1.Serial收集器 新生代单线程复制算法GC(暂停工作线程)---------- 支持组合老年代Serial odl和CMS 2.ParNew Serial多线程版本 支持组合cms| ...

  7. POJ3761 Bubble Sort (组合数学,构造)

    题面 Bubble sort is a simple sorting algorithm. It works by repeatedly stepping through the list to be ...

  8. 拥挤的奶牛题解---队列优化DP---DD(XYX)​​​​​​​的博客

    拥挤的奶牛 时间限制: 1 Sec  内存限制: 128 MB 题目描述 FJ的n头奶牛(1<=n<=50000)在被放养在一维的牧场.第i头奶牛站在位置x(i),并且x(i)处有一个高度 ...

  9. 「题解报告」 P3167 [CQOI2014]通配符匹配

    「题解报告」 P3167 [CQOI2014]通配符匹配 思路 *和?显然无法直接匹配,但是可以发现「通配符个数不超过 \(10\) 」,那么我们可以考虑分段匹配. 我们首先把原字符串分成多个以一个通 ...

  10. .Net+Vue3实现数据简易导入功能

    在开发的过程中,上传文件或者导入数据是一件很常见的事情,导入数据可以有两种方式: 前端上传文件到后台,后台读取文件内容,进行验证再进行存储 前端读取数据,进行数据验证,然后发送数据到后台进行存储 这两 ...