欢迎加入刚建立的社区: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. v-model原理问题

    v-model的原理 很多同学在理解Vue的时候都把Vue的数据响应原理理解为双向绑定,但实际上这是不准确的,我们之前提到的数据响应,都是通过数据的改变去驱动DOM重新的变化,而双向绑定已有数据驱动D ...

  2. Rust 从入门到精通05-数据类型

    Rust 是 静态类型(statically typed)语言,也就是说在编译时就必须知道所有变量的类型. 在 Rust 中,每一个值都属于某一个 数据类型(data type),分为两大类: ①.标 ...

  3. Excel 文本函数(二):CONCATENATE 和 CONCAT

    在 Excel 2016.Excel Mobile 和 Excel 网页版中,CONCATENATE 函数已替换为 CONCAT 函数. CONCATENATE 函数只能拼接单个单元格或文本字符,不能 ...

  4. Excel 统计函数(一):SUMIF 和 SUMIFS

    SUMIF [语法]SUMIF(range, criteria, [sum_range]). [参数] range :求和范围 criteria :筛选的条件 sum_range :可选参数,实际的求 ...

  5. HDU 6222 Heron and His Triangle (pell 方程)

    题面(本人翻译) A triangle is a Heron's triangle if it satisfies that the side lengths of it are consecutiv ...

  6. k8s驱逐篇(3)-kubelet节点压力驱逐-源码分析篇

    kubelet节点压力驱逐-概述 kubelet监控集群节点的 CPU.内存.磁盘空间和文件系统的inode 等资源,根据kubelet启动参数中的驱逐策略配置,当这些资源中的一个或者多个达到特定的消 ...

  7. 再谈NULL和nullptr(C++11)区别

    在谈NULL和nullptr区别之前,我们先看段代码: #include "stdafx.h" #include <iostream> using namespace ...

  8. Vmware虚拟主机启动卡死问题解决

    记录一次虚拟主机开机卡死,黑屏,无法操作的问题 一.问题现象 1.在vmware上新建数台主机后,第一次启动都正常,部分主机出现关机后再开机(或直接重启)卡死的情况: 2.在vmware上右键菜单栏均 ...

  9. git stash总结

    git stash 1. git stash save "message" ​ 执行存储,并添加备注信息(直接git stash 也可以,但没有备注信息) 2. git stash ...

  10. 对表白墙wxss的解释

    一.index.wxss 1 /* 信息 */ 2 .Xinxi{ 3 display: flex; 4 flex-wrap: wrap; 5 margin: 0rpx 1%; 6 } 7 8 9 / ...