文件按照文件后缀名归类方案

import java.io.File;
import java.io.FilenameFilter;public class TestFinal {public static void main(String[] args) {File file = new File("D:/bbb/test");file.listFiles(new FilenameFilter() {@Overridepublic boolean accept(File dir, String name) {if(new File(dir,name).isDirectory()) {new File("D:/bbb/文件夹").mkdir();new File(dir,name).renameTo(new File("D:/bbb/文件夹/" + name));}if(new File(dir,name).isFile() && name.endsWith(".java")) {new File("D:/bbb/JAVA").mkdir();new File(dir,name).renameTo(new File("D:/bbb/JAVA/" + name));}if(new File(dir,name).isFile() && name.endsWith(".txt")) {new File("D:/bbb/TXT").mkdir();new File(dir,name).renameTo(new File("D:/bbb/TXT/" + name));}if(new File(dir,name).isFile() && name.endsWith(".c")) {new File("D:/bbb/C").mkdir();new File(dir,name).renameTo(new File("D:/bbb/C/" + name));}if(new File(dir,name).isFile() && name.endsWith(".h")) {new File("D:/bbb/H").mkdir();new File(dir,name).renameTo(new File("D:/bbb/H/" + name));}if(new File(dir,name).isFile() && name.endsWith(".css")) {new File("D:/bbb/CSS").mkdir();new File(dir,name).renameTo(new File("D:/bbb/CSS/" + name));}if(new File(dir,name).isFile() && name.endsWith(".sql")) {new File("D:/bbb/SQL").mkdir();new File(dir,name).renameTo(new File("D:/bbb/SQL/" + name));}if(new File(dir,name).isFile() && name.endsWith(".dll")) {new File("D:/bbb/Dll").mkdir();new File(dir,name).renameTo(new File("D:/bbb/Dll/" + name));}if(new File(dir,name).isFile() && name.endsWith(".zip")) {new File("D:/bbb/ZIP").mkdir();new File(dir,name).renameTo(new File("D:/bbb/ZIP/" + name));}if(new File(dir,name).isFile() && name.endsWith(".doc")) {new File("D:/bbb/DOC").mkdir();new File(dir,name).renameTo(new File("D:/bbb/DOC/" + name));}if(new File(dir,name).isFile() && name.endsWith(".pptx")) {new File("D:/bbb/PPTX").mkdir();new File(dir,name).renameTo(new File("D:/bbb/PPTX/" + name));}if(new File(dir,name).isFile() && name.endsWith(".js")) {new File("D:/bbb/JS").mkdir();new File(dir,name).renameTo(new File("D:/bbb/JS/" + name));}if(new File(dir,name).isFile() && name.endsWith(".m")) {new File("D:/bbb/M").mkdir();new File(dir,name).renameTo(new File("D:/bbb/M/" + name));}if(new File(dir,name).isFile() && name.endsWith(".xls")) {new File("D:/bbb/XLS").mkdir();new File(dir,name).renameTo(new File("D:/bbb/XLS/" + name));}if(new File(dir,name).isFile() && name.endsWith(".bmp")) {new File("D:/bbb/BMP").mkdir();new File(dir,name).renameTo(new File("D:/bbb/BMP/" + name));}if(new File(dir,name).isFile() && name.endsWith(".cpp")) {new File("D:/bbb/CPP").mkdir();new File(dir,name).renameTo(new File("D:/bbb/CPP/" + name));}if(new File(dir,name).isFile() && name.endsWith(".jpg")) {new File("D:/bbb/JPG").mkdir();new File(dir,name).renameTo(new File("D:/bbb/JPG/" + name));}if(new File(dir,name).isFile()) {new File("D:/bbb/Other").mkdir();new File(dir,name).renameTo(new File("D:/bbb/Other/" + name));}return true;}});}}

不用匿名内部类

import java.io.File;public class Text {/**【任务实施】* 文件归档*  把后缀名相同的文件统一放在以后缀名命名的文件夹里*   没有后缀名的文件放在NotNameSuffix文件里* 文件夹统一放在Files文件夹下*【实现思路】*    先把里面的文件夹放在Files文件夹下*    根据后缀把文件放在以后缀名命名的文件夹下*   最后把没有后缀名的文件放在NotNameSuffix文件夹下* @param args*/public static void main(String[] args) {File file = new File("C:\\Users\\小小三木\\Desktop\\test");fileDocument(file);}/*** 将file参数对象进行文件归档* @param file  需要进行文件归档的file对象*/public static void fileDocument(File file) {//首先判断file对象是否是一个文件夹if (!file.isDirectory()) {return;}//获取file对象的File[]File[] listFiles = file.listFiles();String pathParem = file.getPath();//遍历files数组for (File file2 : listFiles) {if(file2.isDirectory()) {//如果这个文件是文件夹就把这个文件夹剪切到files文件夹下File files = new File(pathParem + "/files");files.mkdirs();File  shearFile = new File(files + "/" + file2.getName());file2.renameTo(shearFile);} else {//如果是文件则根据后缀名进行判断int index = file2.getName().lastIndexOf('.');if (index >= 0) {//index >= 0说明文件有后缀,截取文件后缀名String nameFile = file2.getName().substring(index + 1);//在file对象代表的目录下创建以文件后缀名命名的文件夹File documentDir = new File(pathParem + "/" + nameFile);documentDir.mkdirs();File shearFile = new File(documentDir + "/" + file2.getName());file2.renameTo(shearFile);} else {//index < 0 说明没有后缀名,统一存放在NotNameSuffix文件夹下File notNameSuffix = new File(pathParem + "/NotNameSuffix");notNameSuffix.mkdirs();File shearFile = new File(notNameSuffix + "/" + file2.getName());file2.renameTo(shearFile);}}}}/** 【总结:】 这个方法中最重要的一点就是对文件或文件夹的拷贝 ———— boolean renameTo(File file);* file.renameTo(file2),该方法把file对象剪切为file2对象 ,如果file2对象已经存在则不进行剪切,* 所以在剪切的时候,要先创建file对象的存放目录,用fil3.mkdirs(),* 之后再把要剪切的文件剪切到file对象 + 文件名的file4对象下*/
}

文件按照文件后缀名归类方案相关推荐

  1. Qt总结之一:遍历文件夹和文件目录,并过滤和获取文件信息、后缀名、前缀名(一)

    一.采用递归和QDir实现文件夹下所有文件遍历的方法 #include <QDir> bool FindFile(const QString & path) {QDir dir(p ...

  2. struts2接收文件全是后缀名tmp解决办法

    有个朋友之前一直用SSM,后来用SSH开发项目,遇到一个问题 在struts2接收上传文件的时候,发现所有接收的文件不对,后缀名还都是.tmp的,其实这个解决办法太简单. 文件确实都已经上传上来了.S ...

  3. 怎么显示隐藏的文件类型的后缀名

    很多电脑默认的时候,是隐藏了文件的后缀名,有时候往往给我们带来一些不必要的烦恼,比如txt文件和word文件的相互转换,ppt excel格式的转换等,今天来分享一下怎么显示隐藏的文件类型的后缀名 主 ...

  4. php 上传文件后缀名,对应PHP文件上传后缀名与文件类型

    Internet上有许多PHP文件上传的处理方法,其实学习PHP的人都知道如何上传文件,但许多人可能会忽略编程中的一些细节,今天爱站技术频道小编为大家介绍对应PHP文件上传后缀名与文件类型. ie 火 ...

  5. 【QT】遍历文件夹和文件目录,并过滤和获取文件信息、后缀名、前缀名

    [QT]遍历文件夹和文件目录,并过滤和获取文件信息.后缀名.前缀名 前言: 需要在特定目录或磁盘下查找特定文件 一.筛选目录 (一)单一目录下遍历,筛选特定文件 QDir dir("./Sa ...

  6. php定义上传文件格式,对应PHP文件上传后缀名与文件类型

    Internet上有许多PHP文件上传的处理方法,其实学习PHP的人都知道如何上传文件,但许多人可能会忽略编程中的一些细节,今天爱站技术频道小编为大家介绍对应PHP文件上传后缀名与文件类型. ie 火 ...

  7. PHP文件上传后缀名与文件类型对照表

    ie 火狐 id 后缀名 php识别出的文件类型 0 gif image/gif 1 jpg image/jpeg 2 png image/png 3 bmp image/bmp 4 psd appl ...

  8. Python 相关文件常见的后缀名详解

    常见的 Python 文件后缀有:py.pyc .pyo. pyi.pyw. pyd. pyx 等. 本文只介绍相对常见的一些后缀名,至于一些特别冷门的文件格式,例如一些文章提到的pyz.pywz.r ...

  9. bat 当前目录下 子目录文件 移动到当前目录 并 文件改名 改后缀名

    window .bat当前目录下 子目录文件 移动到当前目录 @echo off for /r %%a in (*.*) do ( echo %%a move "%%a" &quo ...

最新文章

  1. R语言gc函数垃圾回收实战
  2. NASA艾姆斯研究中心将跟Uber团队展开合作
  3. 正则表达式是匹配模式,要么匹配字符,要么匹配位置
  4. 大屏可视化分配率是什么意思_什么是分配率?
  5. mysql workbench入门_5分钟入门MySQL Workbench
  6. ruby .each_Ruby中带有示例的Array.each方法
  7. 重磅发布!36氪中国新基建之王「大数据领域」TOP50企业揭晓
  8. 【2019-06-26】改变的开始
  9. iptables: Resource temporarily unavailable.问题
  10. JS延迟加载百度分享代码,提高网页速度
  11. devexpress ajax demo,DevExpress Demo示例展示:多功能站点插件 附在线演示
  12. [elixir! #0024] 引擎盖下, `Channel.push` 如何运作
  13. 2021大学生创业计划书范例
  14. C语言if( x)的意思,c语言 if(!x)中条件!x是什么意思
  15. 【信奥题库 NOIP 2020 在线模拟赛 T4】三元组
  16. html5 本地缓存
  17. 【内核笔记】博文2021回顾-2022规划
  18. 轮播图、阅读注册协议、网页时钟、随机点名、小米搜索框、轮播图点击切换——web APIs练习
  19. 视频或音频数据存储的2种格式packed和planar
  20. 年薪超过 50 万的程序员在哪些公司工作?

热门文章

  1. 如何充实地度过大学四年?
  2. 一图读懂昇思MindSpore | 秒懂简介,你想知道的都在这里!
  3. 【数据科学】06 数据转换-数据离散化、编码分类特征(哑变量矩阵、数字编码)
  4. Linux驱动_设备树下LED驱动
  5. 配置OPENCV出现的问题
  6. 五彩斑斓的黑——优雅实现
  7. 选生物化学历史能不能报计算机专业,化学生物历史组合被禁:新高考为啥不能选化学生物历史?...
  8. linux主机又又中木马了
  9. win10系统.android是什么文件夹,d盘文件不见了怎么恢复?Windows10增加安卓程序运行...
  10. Lync Server 2013 Preview 安装体验(一)部署准备