开发项目过程中,会用到很多工具类,今天分享一个Java中File操作工具类,可以帮你节约时间,提高开发效率。

File工具类

public class CreateFileUtil {

public static boolean createFile(String destFileName) {

File file = new File(destFileName);

if(file.exists()) {

System.out.println("创建单个文件" + destFileName + "失败,目标文件已存在!");

return false;

}

if (destFileName.endsWith(File.separator)) {

System.out.println("创建单个文件" + destFileName + "失败,目标文件不能为目录!");

return false;

}

//判断目标文件所在的目录是否存在

if(!file.getParentFile().exists()) {

//如果目标文件所在的目录不存在,则创建父目录

System.out.println("目标文件所在目录不存在,准备创建它!");

if(!file.getParentFile().mkdirs()) {

System.out.println("创建目标文件所在目录失败!");

return false;

}

}

//创建目标文件

try {

if (file.createNewFile()) {

System.out.println("创建单个文件" + destFileName + "成功!");

return true;

} else {

System.out.println("创建单个文件" + destFileName + "失败!");

return false;

}

} catch (IOException e) {

e.printStackTrace();

System.out.println("创建单个文件" + destFileName + "失败!" + e.getMessage());

return false;

}

}

public static boolean createDir(String destDirName) {

File dir = new File(destDirName);

if (dir.exists()) {

System.out.println("创建目录" + destDirName + "失败,目标目录已经存在");

return false;

}

if (!destDirName.endsWith(File.separator)) {

destDirName = destDirName + File.separator;

}

//创建目录

if (dir.mkdirs()) {

System.out.println("创建目录" + destDirName + "成功!");

return true;

} else {

System.out.println("创建目录" + destDirName + "失败!");

return false;

}

}

public static String createTempFile(String prefix, String suffix, String dirName) {

File tempFile = null;

if (dirName == null) {

try{

//在默认文件夹下创建临时文件

tempFile = File.createTempFile(prefix, suffix);

//返回临时文件的路径

return tempFile.getCanonicalPath();

} catch (IOException e) {

e.printStackTrace();

System.out.println("创建临时文件失败!" + e.getMessage());

return null;

}

} else {

File dir = new File(dirName);

//如果临时文件所在目录不存在,首先创建

if (!dir.exists()) {

if (!CreateFileUtil.createDir(dirName)) {

System.out.println("创建临时文件失败,不能创建临时文件所在的目录!");

return null;

}

}

try {

//在指定目录下创建临时文件

tempFile = File.createTempFile(prefix, suffix, dir);

return tempFile.getCanonicalPath();

} catch (IOException e) {

e.printStackTrace();

System.out.println("创建临时文件失败!" + e.getMessage());

return null;

}

}

}

public static void main(String[] args) {

//创建目录

String dirName = "D:/work/temp/temp0/temp1";

CreateFileUtil.createDir(dirName);

//创建文件

String fileName = dirName + "/temp2/tempFile.txt";

CreateFileUtil.createFile(fileName);

//创建临时文件

String prefix = "temp";

String suffix = ".txt";

for (int i = 0; i < 10; i++) {

System.out.println("创建了临时文件:"

+ CreateFileUtil.createTempFile(prefix, suffix, dirName));

}

//在默认目录下创建临时文件

for (int i = 0; i < 10; i++) {

System.out.println("在默认目录下创建了临时文件:"

+ CreateFileUtil.createTempFile(prefix, suffix, null));

}

}

}

以上,是我实际项目中用过的File工具类,仅供参考,有什么好的方法,可以评论区交流。

我是一名码龄10年的程序员,在这里会分享实在干货,让你少走弯路,成就精彩人生。

ad file type not recognised_Java实用工具类:File工具类方法学习,可创建目录及文件...相关推荐

  1. Java常用工具类---IP工具类、File文件工具类

    package com.jarvis.base.util; import java.io.IOException; import java.io.InputStreamReader; import j ...

  2. java filehelper_Java常用工具类---IP工具类、File文件工具类

    package com.jarvis.base.util; import java.io.IOException; import java.io.InputStreamReader; import j ...

  3. Hutool工具类和工具方法

    基础工具类: StrUtil/StringUtils -字符串工具类 添加移除:addXXX/appendXXX/removeXXX判断:containsXXX/startWithXXX/endWit ...

  4. 自定义工具类:工具类介绍

    自定义工具类 自定义注解 自定义注解 package com.learn.domain.poi;import java.lang.annotation.ElementType; import java ...

  5. android 图片缓存工具类,Android工具类系列-Glide图片缓存与圆角

    Glide的图片缓存和清除图片缓存 public class GlideCacheUtil { private static GlideCacheUtil inst; public static Gl ...

  6. java s结尾的工具类_FilenameUtils工具类

    commons-io commons-io 2.4 import java.util.ArrayList; import java.util.List; import org.apache.commo ...

  7. c mysql 工具类_Jave工具——servlet+jsp编程中mysql数据库连接及操作通用工具类

    该工具类是在JavaWeb中连接mysql所用到的通用工具类 该类用于Java+Servlet的编程中,方便数据库的操作,连接,获取其列表值.下面是这个数据库操作类的通用方法,基本上能够用于类里面只含 ...

  8. 常用工具类之jwt的学习使用

    什么是jwt 首先jwt其实是三个英语单词JSON Web Token的缩写.通过全名你可能就有一个基本的认知了.token一般都是用来认证的,比如我们系统中常用的用户登录token可以用来认证该用户 ...

  9. 工具类-httpClient工具类

    httpClient工具类 1.httpClient工具类(http/https.重发.超时.连接数的设置) package com.xxxxxxx.xxxx.xxxx.payutil;import ...

最新文章

  1. Query理解在美团搜索中的应用
  2. 工业4.0进行时:未来协作方式的变革
  3. jittor和pytorch生成网络对比之cogan
  4. 【Vue.js】vue2组件间通信方式总结
  5. java9默认收集器_Oracle提议将G1作为Java9的默认垃圾收集器
  6. mysql的主从复制优缺点_MySQL主从复制原理,超级详细的总结,看完全通了
  7. angular模态框位置_angular $modal 模态框
  8. 四步相移法怎么获得相位信息_不一样的费曼学习法!|高中篇|”
  9. 跨部门不配合工作_同事不配合工作,划水甚至推诿,该怎么体现你的手腕
  10. 分布式服务框架原来与实践 读书笔记一
  11. 【CVPR 2020】Learning RoI Transformer for Oriented Object Detection in Aerial Images
  12. 以软件开发生命周期来说明各种测试的使用情况
  13. handler和thread之间如何传输数据_HTTP和TCP之间的关系
  14. Leslie 模型预测
  15. python分析谷歌浏览器的历史记录
  16. 安卓 Charles证书的安装
  17. AWS - Amazon Simple Email(ASE) 邮件服务
  18. GPL和MIT开源协议
  19. LeetCode题解(0625):最小因式分解(Python)
  20. Redis 集合高级用法

热门文章

  1. 【转】如何让ucgui支持24位色(24bpp)
  2. 300+Jquery, CSS, MooTools 和 JS的导航菜单资源
  3. 3.1_ 1_ 内存的基础知识
  4. tensorflow框架
  5. Java中关于自增自减
  6. python 创建一个空向量_Python之Django系列-创建第一个应用-5
  7. goland 方法注释_goland 设置注释模板的过程图文详解
  8. python模块分类_Python-模块分类及导入
  9. TestAndSet实现互斥锁
  10. JavaSE——IO(上)(File、字节流、字符流、转换流、打印流、缓存流)