1. package com.util;
  2. import java.io.File;
  3. import java.util.StringTokenizer;
  4. /**
  5. * 文件/目录 部分处理
  6. * @createTime Dec 25, 2010 7:06:58 AM
  7. * @version 1.0
  8. */
  9. public class DealDir {
  10. /**
  11. * 获取文件的后缀名并转化成大写
  12. *
  13. * @param fileName
  14. *            文件名
  15. * @return
  16. */
  17. public String getFileSuffix(String fileName) throws Exception {
  18. return fileName.substring(fileName.lastIndexOf(".") + 1,
  19. fileName.length()).toUpperCase();
  20. }
  21. /**
  22. * 创建多级目录
  23. *
  24. * @param path
  25. *            目录的绝对路径
  26. */
  27. public void createMultilevelDir(String path) {
  28. try {
  29. StringTokenizer st = new StringTokenizer(path, "/");
  30. String path1 = st.nextToken() + "/";
  31. String path2 = path1;
  32. while (st.hasMoreTokens()) {
  33. path1 = st.nextToken() + "/";
  34. path2 += path1;
  35. File inbox = new File(path2);
  36. if (!inbox.exists())
  37. inbox.mkdir();
  38. }
  39. } catch (Exception e) {
  40. System.out.println("目录创建失败" + e);
  41. e.printStackTrace();
  42. }
  43. }
  44. /**
  45. * 删除文件/目录(递归删除文件/目录)
  46. *
  47. * @param path
  48. *            文件或文件夹的绝对路径
  49. */
  50. public void deleteAll(String dirpath) {
  51. if (dirpath == null) {
  52. System.out.println("目录为空");
  53. } else {
  54. File path = new File(dirpath);
  55. try {
  56. if (!path.exists())
  57. return;// 目录不存在退出
  58. if (path.isFile()) // 如果是文件删除
  59. {
  60. path.delete();
  61. return;
  62. }
  63. File[] files = path.listFiles();// 如果目录中有文件递归删除文件
  64. for (int i = 0; i < files.length; i++) {
  65. deleteAll(files[i].getAbsolutePath());
  66. }
  67. path.delete();
  68. } catch (Exception e) {
  69. System.out.println("文件/目录 删除失败" + e);
  70. e.printStackTrace();
  71. }
  72. }
  73. }
  74. /**
  75. * 文件/目录 重命名
  76. *
  77. * @param oldPath
  78. *            原有路径(绝对路径)
  79. * @param newPath
  80. *            更新路径
  81. * @author lyf 注:不能修改上层次的目录
  82. */
  83. public void renameDir(String oldPath, String newPath) {
  84. File oldFile = new File(oldPath);// 文件或目录
  85. File newFile = new File(newPath);// 文件或目录
  86. try {
  87. boolean success = oldFile.renameTo(newFile);// 重命名
  88. if (!success) {
  89. System.out.println("重命名失败");
  90. } else {
  91. System.out.println("重命名成功");
  92. }
  93. } catch (RuntimeException e) {
  94. e.printStackTrace();
  95. }
  96. }
  97. }

文件/目录部分处理工具类 DealDir.java的更多相关文章

  1. Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...

  2. 【转载】C#工具类:实现文件操作File的工具类

    在应用程序的开发中,文件操作的使用基本上是必不可少的,FileStream类.StreamWriter类.Directory类.DirectoryInfo类等都是文件操作中时常涉及到的类,我们可以通过 ...

  3. txt文件按行处理工具类(可以截取小说、分析日志等)【我】

    txt文件按行处理工具类(可以分析日志.截取小说等) package file; import java.io.BufferedReader; import java.io.BufferedWrite ...

  4. c#中@标志的作用 C#通过序列化实现深表复制 细说并发编程-TPL 大数据量下DataTable To List效率对比 【转载】C#工具类:实现文件操作File的工具类 异步多线程 Async .net 多线程 Thread ThreadPool Task .Net 反射学习

    c#中@标志的作用   参考微软官方文档-特殊字符@,地址 https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/toke ...

  5. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

  6. Java字符串转16 进制工具类Hex.java

    Java字符串转16 进制工具类Hex.java 学习了:https://blog.csdn.net/jia635/article/details/56678086 package com.strin ...

  7. Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie

    Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie >>>>>>>>>>>>& ...

  8. UrlUtils工具类,Java URL工具类,Java URL链接工具类

    UrlUtils工具类,Java URL工具类,Java URL链接工具类 >>>>>>>>>>>>>>>&g ...

  9. [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具

    原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.G ...

随机推荐

  1. HDU 5800 (DP)

    Problem To My Girlfriend (HDU 5800) 题目大意 给定一个由n个元素组成的序列,和s (n<=1000,s<=1000) 求 :   f (i,j,k,l, ...

  2. Js全选,插入实现

    //全选 function CheckAll() { ids.splice(0, 1000000); var flag = $("#All_Check").attr("c ...

  3. 编程之美的2.17,数组循环移位 & 字符串逆转(反转) Hello world Welcome => Welcome world Hello

    代码如下:(类似于编程之美的2.17,数组循环移位) static void Main(string[] args) { string input = "Hello World Welcom ...

  4. C++学习笔记12:运算符重载(赋值操作符1)

    为数偶类定义专用的赋值操作符 class Couple { public: Couple(, ) :_a(a), _b(b) {} Couple(const Couple &c):_a(c._ ...

  5. 【转】java环境配置

    JAVA开发环境的搭建(配置JAVA开发环境) 一.安装JDK 1. JVM(Java Virtual Machine—Java虚拟机) JRE(Java Runtime Environment—Ja ...

  6. Python 新手常犯错误(第二部分)

    转发自:http://blog.jobbole.com/43826/ 在之前几个月里,我教一些不了解Python的孩子来慢慢熟悉这门语言.渐渐地,我发现了一些几乎所有Python初学者都会犯的错误,所 ...

  7. 多进程和atexit清理函数

    前言: 最近帮朋友review其模块服务代码, 使用的是python的twisted网络框架. 鉴于之前并没有使用过, 于是决定好好研究一番. 不过这个问题, 和twisted网络框架本身没有关系, ...

  8. Gulp 总结

    Gulp介绍 Gulp是一个前端开发的自动化构建工具.前端开发往往需要把LESS/SCSS文件进行编译成CSS文件,javascript多文件合并成一个文件并压缩以及一些其他需要重复性操作的工作.而G ...

  9. 软件工程课程作业(一)—20道随机四则运算题(C++)

    一.编程思想: 1.定义所需要变量2.设置数组,存储运算符,3.通过随机函数random(0,100)找出运算数,random(0,4)找出运算符4.通过输出显示运算式. 二.源代码: //2016 ...

  10. google-http-java-client(android学习篇2源码)

    package com.google.api.services.samples.googleplus.cmdline.simple;   import com.google.api.client.ht ...