文件/目录部分处理工具类 DealDir.java
- package com.util;
- import java.io.File;
- import java.util.StringTokenizer;
- /**
- * 文件/目录 部分处理
- * @createTime Dec 25, 2010 7:06:58 AM
- * @version 1.0
- */
- public class DealDir {
- /**
- * 获取文件的后缀名并转化成大写
- *
- * @param fileName
- * 文件名
- * @return
- */
- public String getFileSuffix(String fileName) throws Exception {
- return fileName.substring(fileName.lastIndexOf(".") + 1,
- fileName.length()).toUpperCase();
- }
- /**
- * 创建多级目录
- *
- * @param path
- * 目录的绝对路径
- */
- public void createMultilevelDir(String path) {
- try {
- StringTokenizer st = new StringTokenizer(path, "/");
- String path1 = st.nextToken() + "/";
- String path2 = path1;
- while (st.hasMoreTokens()) {
- path1 = st.nextToken() + "/";
- path2 += path1;
- File inbox = new File(path2);
- if (!inbox.exists())
- inbox.mkdir();
- }
- } catch (Exception e) {
- System.out.println("目录创建失败" + e);
- e.printStackTrace();
- }
- }
- /**
- * 删除文件/目录(递归删除文件/目录)
- *
- * @param path
- * 文件或文件夹的绝对路径
- */
- public void deleteAll(String dirpath) {
- if (dirpath == null) {
- System.out.println("目录为空");
- } else {
- File path = new File(dirpath);
- try {
- if (!path.exists())
- return;// 目录不存在退出
- if (path.isFile()) // 如果是文件删除
- {
- path.delete();
- return;
- }
- File[] files = path.listFiles();// 如果目录中有文件递归删除文件
- for (int i = 0; i < files.length; i++) {
- deleteAll(files[i].getAbsolutePath());
- }
- path.delete();
- } catch (Exception e) {
- System.out.println("文件/目录 删除失败" + e);
- e.printStackTrace();
- }
- }
- }
- /**
- * 文件/目录 重命名
- *
- * @param oldPath
- * 原有路径(绝对路径)
- * @param newPath
- * 更新路径
- * @author lyf 注:不能修改上层次的目录
- */
- public void renameDir(String oldPath, String newPath) {
- File oldFile = new File(oldPath);// 文件或目录
- File newFile = new File(newPath);// 文件或目录
- try {
- boolean success = oldFile.renameTo(newFile);// 重命名
- if (!success) {
- System.out.println("重命名失败");
- } else {
- System.out.println("重命名成功");
- }
- } catch (RuntimeException e) {
- e.printStackTrace();
- }
- }
- }
文件/目录部分处理工具类 DealDir.java的更多相关文章
- Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类
Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...
- 【转载】C#工具类:实现文件操作File的工具类
在应用程序的开发中,文件操作的使用基本上是必不可少的,FileStream类.StreamWriter类.Directory类.DirectoryInfo类等都是文件操作中时常涉及到的类,我们可以通过 ...
- txt文件按行处理工具类(可以截取小说、分析日志等)【我】
txt文件按行处理工具类(可以分析日志.截取小说等) package file; import java.io.BufferedReader; import java.io.BufferedWrite ...
- 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 ...
- Java日期工具类,Java时间工具类,Java时间格式化
Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...
- Java字符串转16 进制工具类Hex.java
Java字符串转16 进制工具类Hex.java 学习了:https://blog.csdn.net/jia635/article/details/56678086 package com.strin ...
- Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie
Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie >>>>>>>>>>>>& ...
- UrlUtils工具类,Java URL工具类,Java URL链接工具类
UrlUtils工具类,Java URL工具类,Java URL链接工具类 >>>>>>>>>>>>>>>&g ...
- [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具
原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.G ...
随机推荐
- 浏览器关闭使session失效的问题多种解决方式
直接关闭浏览器(或者强制关闭浏览器进程.死机等),服务器无法处理用户退出网站的请求,此举将会导致session失效,下面整理了一些解决方法,感兴趣的朋友可以参考下哈 如果用户不点击网站的“退出”链 ...
- Aborting commit: 'XXXXXXXX'remains in conflict错误
今天在提交项目文件到本地SVN时提示错误如下: 过期:”global.php“在事务”21-1“, You have to update your working copy first. 运行upda ...
- (实用篇)微信网页授权(OAuth2.0) PHP 源码简单实现
提要: 1. 建议对OAuth2.0协议做一个学习. 2. 微信官方文档和微信官网工具要得到充分利用. 比较简单,直接帖源代码了.其中"xxxxxxxxxx"部分,是需要依据自己环 ...
- 多个Tomcat同时运行环境配置 - imsoft.cnblogs
解压下载好的Tomcat压缩包,两次.此例中分别命名为tomcat和tomcat2. 1. 在MyEclipse中配置好第一个Tomcat环境,可以正常运行项目后. 2. 再配置tomcat2这个项目 ...
- SqlServer 杂记 不断补充中
1.OPTION (MAXRECURSION 25) :最大允许递归的次数.默认最大CTE递归只有100次,而你要求插入10年的数据,需要递归3000多次,所以要使用option (MAXRECURS ...
- iOS学习笔记---c语言第十天
动态内存分配 一.存储区划分 从低到高(内存地址小----内存地址大) : 代码区---常量区---静态区---堆区---栈区 栈内存 //凡是在函数体内定义的变量 都存储在栈区(包括形参). ; ...
- mysql-server 的一些记录
为避免 innodb 文件的增大.个人倾向于读立表空间.以 innodb_file_per_table=1 参数调整. 不使用默认数据目录的话,须得将 grp own 都循环设置为mysql. 昨天晚 ...
- thrift在windows的编译/安装--c++版
前言: thrift是出于Facebook的rpc网络编程框架, 其对跨平台和多语言的支持优于google protobuf, 但thrift在java/c#语言上应用比较多, 资料也丰富, 在win ...
- SAP 默认的连接端口
3708.3908.4008.32<instance number> 如instance number是00的话,就是3200,这是给 disp+working process 用的. 3 ...
- Android——复选按钮和开关按钮
复选按钮和开关按钮代码如下: <LinearLayout android:layout_width="match_parent" android:layout_height= ...