列出某目录下的所有文件,将文件改名,借助java.io.File一个类就可以完成。大家可以发现,代码中的具体方法都是File一个类的。

另外要注意的是,File的全路径名,路径是一致的,父路径其实是文件所在的目录名,名称则是单独的文件名,具体如下:

  1. File.getAbsolutePath());// 全路径文件名
  2.  
  3. File.getPath());// 全路径文件名,和getAbsolutePath一致
  4.  
  5. File.getParent());// 单纯路径
  6.  
  7. File.getName());// 单纯文件名

这个在刚接触时容易混淆,需要小心。

源码:

  1. package com.hy.expired;
  2.  
  3. import java.io.File;
  4.  
  5. import org.apache.log4j.Logger;
  6.  
  7. /**
  8. * 将folder指定目录下的JPG文件批量改名
  9. * @author horn1
  10. *
  11. */
  12. public class BatchRenamer {
  13. private static Logger log = Logger.getLogger(BatchRenamer.class);
  14.  
  15. public static void main(String[] args) {
  16. addPrefix2EveryFile();
  17. }
  18.  
  19. /**
  20. * 将全部jpg文件按数字改名
  21. */
  22. private static void renameToNumber() {
  23. File folder = new File("D:\\temp");
  24. File[] files = folder.listFiles();
  25. for (int i = 0; i < files.length; i++) {
  26. if (files[i].isFile() && files[i].getName().endsWith(".jpg")) {
  27. String oldFilename=files[i].getAbsolutePath();
  28. String newFileName=files[i].getParent()+File.separator+""+i+".jpg";
  29.  
  30. files[i].renameTo(new File(newFileName));
  31. log.info("文件已从原名:'"+oldFilename+"' 修改成了新名:'"+newFileName+"'.");
  32. }
  33. }
  34. }执行效果:
  35.  
  36. /**
  37. * 给每个文件名加上前缀
  38. */
  39. private static void addPrefix2EveryFile() {
  40. File folder = new File("D:\\temp");
  41. File[] files = folder.listFiles();
  42. for (int i = 0; i < files.length; i++) {
  43. if (files[i].isFile() && files[i].getName().endsWith(".jpg")) {
  44. String oldFilename=files[i].getAbsolutePath();
  45. String newFileName=files[i].getParent()+File.separator+"冬月枫"+files[i].getName();
  46.  
  47. files[i].renameTo(new File(newFileName));
  48. log.info("文件已从原名:'"+oldFilename+"' 修改成了新名:'"+newFileName+"'.");
  49. }
  50. }
  51. }
  52.  
  53. 执行效果:
  54. }

--END-- 2019年11月3日09:40:04

[java]借助java.io.File类,完成文件批量改名的更多相关文章

  1. Batch File Rename Utility(文件批量改名软件) 1.1.4231

    软件名称: Batch File Rename Utility(文件批量改名软件) 1.1.4231.23098 软件语言: 英文 授权方式: 免费软件 运行环境: Win7 / Vista / Wi ...

  2. Java 之 File类(文件操作)

    一.概述 java.io.File 类是文件和目录路径名册抽象表示,主要用于文件和目录的创建.查找和删除等操作. File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法. 路径问题: ...

  3. 第8章 File I/O,File类操作文件的属性

    1.文件 1.1.什么是文件? 答:文件可认为是相关记录或放在一起的数据的集合 1.2.文件- -般存储在哪里? 答: 磁盘,硬盘,文件夹 1.3.JAVA程序如何访向文件属性? JAVA API:i ...

  4. java.io.File类

    java.io.File类 1.凡是与输入.输出相关的类.接口等都定义在java.io包下 2.File是一个类.能够有构造器创建其对象.此对象相应着一个文件(.txt .avi .doc .ppt ...

  5. java.io.File类操作

    一.java.io.File类 String path="E:/222/aaa";//路径 String path1="aaa.txt"; File file= ...

  6. 33.JAVA编程思想——JAVA IO File类

    33.JAVA编程思想--JAVA IO File类 RandomAccessFile用于包括了已知长度记录的文件.以便我们能用 seek()从一条记录移至还有一条:然后读取或改动那些记录. 各记录的 ...

  7. 使用File类操作文件或目录的属性

    在学I/O流之前,我先总结一下使用File类操作文件或目录的属性. package com.File; import java.io.File; import java.io.IOException; ...

  8. 九:File类,文件的操作

    File的常用方法:

  9. C#中File类的文件操作方法详解

    File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开一个文件.File类方法的参量很多时候都是路径path.F ...

随机推荐

  1. List、Set、Map集合的遍历方法

    一.List集合遍历 public class TraversingList { /** * @author zhuxun describe: 定一个List集合并遍历 */ /** 定义一个List ...

  2. Linux路径切换命令——directory stack

    操作directory stack一共需要3个命令: dirs .pushd.popd dirs: 显示当前目录栈 pushd: 把目录压栈 popd: 把目录弹栈 dirs 显示目录栈内容,如果没有 ...

  3. NORDIC 关闭浮点运算FPU

    1.打开FPU中断 NVIC_SetPriority(FPU_IRQn, APP_IRQ_PRIORITY_LOW);NVIC_EnableIRQ(FPU_IRQn); 2.中断中关闭FPU void ...

  4. 算法笔记--BSGS && exBSGS 模板

    https://www.cnblogs.com/sdzwyq/p/9900650.html 模板: unordered_map<int, int> mp; LL q_pow(LL n, L ...

  5. 【好好补题,因为没准题目还会再出第三遍!!】ACM字符串-组合数学(官方题解是数位DP来写)

    ACM字符串 .长度不能超过n .字符串中仅包含大写字母 .生成的字符串必须包含字符串“ACM”,ACM字符串要求连在一块! ok,是不是很简单?现在告诉你n的值,你来告诉我这样的字符串有多少个 输入 ...

  6. P3183 [HAOI2016]食物链[拓扑/记忆化搜索]

    题目来源:洛谷 题目描述 如图所示为某生态系统的食物网示意图,据图回答第1小题现在给你n个物种和m条能量流动关系,求其中的食物链条数.物种的名称为从1到n编号M条能量流动关系形如a1 b1a2 b2a ...

  7. JS 过滤数组里对象的某个属性

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. groovy http

    import groovy.json.JsonOutput void api(){ def data = [jobId : "11111111111111", data : 5,s ...

  9. DisplayModeProvider完成移动开发自动视图解析

    MVC中新建视图命名:XXX.cshtml.XXX.mobile.cshtml:用手机访问会自动到xxx.mobile.cshtml 一.原理 MVC中是通过DisplayModeProvider实现 ...

  10. 007_Linux驱动之_copy_from_user函数

    1. copy_from_user函数的目的是从用户空间拷贝数据到内核空间 2. 解析原型: copy_from_user(void *to, const void __user *from, uns ...