java目录实用工具_JAVA 创建文件和文件夹,删除文件和文件夹的实用工具

package com.file;

import java.io.File;

import java.io.IOException;

//创建新文件和目录

public class CCRDFile {

// 验证字符串是否为正确路径名的正则表达式

private static String matches = "[A-Za-z]:\\\\[^:?\">

// 通过 sPath.matches(matches) 方法的返回值判断是否正确

// sPath 为路径字符串

boolean flag = false;

File file;

public boolean DeleteFolder(String deletePath) {// 根据路径删除指定的目录或文件,无论存在与否

flag = false;

if (deletePath.matches(matches)) {

file = new File(deletePath);

if (!file.exists()) {// 判断目录或文件是否存在

return flag; // 不存在返回 false

} else {

if (file.isFile()) {// 判断是否为文件

return deleteFile(deletePath);// 为文件时调用删除文件方法

} else {

return deleteDirectory(deletePath);// 为目录时调用删除目录方法

}

}

} else {

System.out.println("要传入正确路径!");

return false;

}

}

public boolean deleteFile(String filePath) {// 删除单个文件

flag = false;

file = new File(filePath);

if (file.isFile() && file.exists()) {// 路径为文件且不为空则进行删除

file.delete();// 文件删除

flag = true;

}

return flag;

}

public boolean deleteDirectory(String dirPath) {// 删除目录(文件夹)以及目录下的文件

// 如果sPath不以文件分隔符结尾,自动添加文件分隔符

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

dirPath = dirPath + File.separator;

}

File dirFile = new File(dirPath);

// 如果dir对应的文件不存在,或者不是一个目录,则退出

if (!dirFile.exists() || !dirFile.isDirectory()) {

return false;

}

flag = true;

File[] files = dirFile.listFiles();// 获得传入路径下的所有文件

for (int i = 0; i < files.length; i++) {// 循环遍历删除文件夹下的所有文件(包括子目录)

if (files[i].isFile()) {// 删除子文件

flag = deleteFile(files[i].getAbsolutePath());

System.out.println(files[i].getAbsolutePath() + " 删除成功");

if (!flag)

break;// 如果删除失败,则跳出

} else {// 运用递归,删除子目录

flag = deleteDirectory(files[i].getAbsolutePath());

if (!flag)

break;// 如果删除失败,则跳出

}

}

if (!flag)

return false;

if (dirFile.delete()) {// 删除当前目录

return true;

} else {

return false;

}

}

// 创建单个文件

public static boolean createFile(String filePath) {

File file = new File(filePath);

if (file.exists()) {// 判断文件是否存在

System.out.println("目标文件已存在" + filePath);

return false;

}

if (filePath.endsWith(File.separator)) {// 判断文件是否为目录

System.out.println("目标文件不能为目录!");

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("创建文件成功:" + filePath);

return true;

} else {

System.out.println("创建文件失败!");

return false;

}

} catch (IOException e) {// 捕获异常

e.printStackTrace();

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

return false;

}

}

// 创建目录

public static boolean createDir(String destDirName) {

File dir = new File(destDirName);

if (dir.exists()) {// 判断目录是否存在

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

return false;

}

if (!destDirName.endsWith(File.separator)) {// 结尾是否以"/"结束

destDirName = destDirName + File.separator;

}

if (dir.mkdirs()) {// 创建目标目录

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

return true;

} else {

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

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 (CCRDFile.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 = "E:/createFile/";// 创建目录

CCRDFile.createDir(dirName);// 调用方法创建目录

String fileName = dirName + "/file1.txt";// 创建文件

CCRDFile.createFile(fileName);// 调用方法创建文件

String prefix = "temp";// 创建临时文件

String surfix = ".txt";// 后缀

for (int i = 0; i < 10; i++) {// 循环创建多个文件

System.out.println("创建临时文件: "// 调用方法创建临时文件

+ CCRDFile.createTempFile(prefix, surfix,

dirName));

}

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/552528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 方法重载的作业_java第六章 方法及方法重载 课堂笔记、作业

当参数传递为基本数据类型时&#xff0c;参数变化不保留&#xff0c;基本数据类型参数传值当参数传递为引用数据类型时&#xff0c;参数变化会保留&#xff0c;引用数据类型参数传址//基本数据类型在别处被重新赋值&#xff0c;则本体不受影响&#xff0c;其值不变//引用型数据…

java旋转图片后边上变黑_Java旋转图像将背景的一部分变成黑色

因此,我下载了“原始”图像(不是正方形),对其进行了修改,使其变为正方形,运行您的代码,得到了java.awt.image.ImagingOpException&#xff1a;无法转换src图像异常,将BufferedImage.TYPE_INT_RGB更改为BufferedImage .TYPE_INT_ARGB并得到…import java.awt.geom.AffineTransfo…

python 数据库连接池_【转】Python 数据库连接池

python编程中可以使用pymysql进行数据库连接及增删改查操作&#xff0c;但每次连接mysql请求时&#xff0c;都是独立的去请求访问&#xff0c;比较浪费资源&#xff0c;而且访问数量达到一定数量时&#xff0c;对mysql的性能会产生较大的影响。因此实际使用中&#xff0c;通常会…

python中location_使用python请求模块时的LocationValueError

我一直在使用请求包与Web进行交互&#xff0c;过去没有任何问题 . 最近当使用我大约一周没用过的脚本时&#xff0c;我在执行例程 requests.get() 调用时遇到以下错误&#xff1a;LocationValueError: No host specified.背景研究经过大量的谷歌搜索 python requests LocationV…

java 获取oracle表结构_获取Oracle中所有表的列表?

回答(19)2 years ago我们可以从以下查询获取所有表格&#xff0c;包括列详细信息&#xff1a;SELECT * FROM user_tab_columns;2 years ago使用sqlplus更好地查看如果您正在使用 sqlplus &#xff0c;您可能需要首先设置一些参数以便在您的列被破坏时更好地查看(退出 sqlplus 会…

java后台处理excel_java后台利用Apache poi 生成excel文档提供前台下载示例

之前在项目中会用到在java在后台把数据填入Word文档的模板来提供前台下载&#xff0c;为了自己能随时查看当时的实现方案及方便他人学习我写了这篇博客&#xff0c;访问量已经是我写的博客里第一了。于是乎我在学会用Java在后台利用Apache poi 生成excel文档提供前台下载之后就…

java向有序数组里插数_Java向有序数组中插入一个元素,,使其仍按有序排列,并求出这个插入元素的下标...

/*** * create time [2014-4-13]*/public class Test{public static void main(String args[]){//原有序数组,这里约定数组是升序排列int[] intArray new int[]{1,2,4,6,7,9};int toInsert 8;//待插入数据int subscript 0;//下标//确定下标位置if(toInsert {subscript 0;}e…

php 删除文件夹及文件夹,php删除一个路径下的所有文件夹和文件的方法

php遍历一个文件夹内的所有文件和文件夹&#xff0c;并删除所有文件夹和子文件夹下的所有文件的代码&#xff0c;通过递归方式实现达到清空一个目录的效果&#xff0c;代码简单实用。也适合在thinkphp中清理缓存&#xff0c;在thinkphp中可以把下面代码写入./Application/Admin…

PHP制作订货,PHP生成订单号的两种方法

在开发项目的时候经常有生成订单号的需求&#xff0c;这里列出两种生成20位订单号的常用方法。方法一&#xff1a;以下代码是14位当前时间加6位随机数&#xff0c;如果增减位数&#xff0c;只需修改末尾的数字6即可。<?php Function build_order_no(){return date(YmdHis).…

php 分类排序,php将地区分类排序的算法

php将地区分类排序的算法介绍&#xff0c;有需要的朋友可以参考下。写一个函数&#xff0c;用来存储地区数据&#xff1a;复制代码 代码如下:$array array(0>array("","河北"),1>array("","北京"),2>array(0,"保定&quo…

js读写php文件,在js中如何读取本地文件

下面我就为大家分享一篇js读取本地文件的实例&#xff0c;具有很好的参考价值&#xff0c;希望对大家有所帮助。如何用在浏览器端预览本地文件&#xff1f;今天的主题是使用浏览器预览本地文件。由于浏览器安全策略的限制&#xff0c;javascript程序不能自由地访问本地资源&…

php mvc教程 文档,PHP培训教程教你快速打造PHP MVC框架[PHP基础教程]

PHP培训教程教你快速打造PHP MVC框架[PHP基础教程]简介MVC框架在现在的开发中相当流行&#xff0c;不论你使用的是JAVA,C#,PHP或者IOS&#xff0c;你肯定都会选择一款框架。虽然不能保证100%的开发语言都会使用框架&#xff0c;但是在PHP社区当中拥有最多数量的MVC框架。今天你…

java分页代码思路,记录--java 分页 思路 (hibernate关键代码)

有时会脑袋蒙圈&#xff0c;记录下分页的思路下面代码是hibernate的分页&#xff0c;其分页就是从第几条数据为起点&#xff0c;取几条数据。比如在mysql中的limit(5,10)取的就是第6条到第10条在下面代码中的page是页数、size是每页多少条数据String hql"from User";…

php查看运行时间和内存,php 统计时间和内存的使用情况

跳至/*** 记录和统计时间(微秒)和内存使用情况* 使用方法:** G(begin); // 记录开始标记位* // ... 区间运行代码* G(end); // 记录结束标签位* echo G(begin,end,6); // 统计区间运行时间 精确到小数后6位* echo G(begin,end,m); // 统计区间内存使用情况* 如果end标记位没有定…

宝塔php漏洞,[安全预警]关于最近宝塔闹得很厉害的PMA漏洞BUG

文章前言在2020年8月23日的下午有个憨憨管理在我群艾特全员 说宝塔爆出漏洞了赶快更新吧&#xff01;影响机器需同时满足以下所有条件1、软件版本为Linux面板7.4.2 或者Windows面板6.8.02、开放888且未配置http认证&#xff0c;3、安装了phpmyadmin&#xff0c;mysql数据库不受…

求十个学生的平均成绩java,JAVA 声明一个数组,存一个学生的五门成绩。求该学生的总成绩、平均成绩。...

JAVA 声明一个数组,存一个学生的五门成绩。求该学生的总成绩、平均成绩。mip版 关注:116 答案:3 悬赏:30解决时间 2021-01-26 06:39已解决2021-01-25 17:54声明一个数组,存一个学生的五门成绩。求该学生的总成绩、平均成绩。JAVA知识最佳答案2021-01-25 18:12public class S…

php伪静态限制网页播放视频,学习猿地-php伪静态后html不能访问怎么办

php伪静态后html不能访问的解决办法&#xff1a;首先判断文件是否存在&#xff1b;然后设置存在则不rewirte&#xff0c;不存在且符合规则才rewrite&#xff1b;最后修改htaccess文件即可。具体问题&#xff1a;PHP伪静态后不能访问纯html文件.htaccess文件RewriteEngine onRew…

oracle binary_integer pls_integer,oracle中binaryinteger与plsinteger的区别

oracle中binaryinteger与plsinteger的区别 Oracle 中 Binary_Integer 与 Pls_Integer 的区别Binary_Integer 与 Pls_Integer 都是整型类型. Binary_Integer 类型变量值计算是由 Oracle 来执行&#xff0c;不会出现溢出&#xff0c;但是执行速度较慢&#xff0c;因为它是由 Orac…

梁单元分析matlab,[FEM][有限元][编程][Matlab][Code by myself] 2D Timoshenko梁单元

(有空和小伙伴一起写写有限元程序)程序作者 ( Author )JiDong Cui (崔济东)1, XueLong Shen (沈雪龙)21.广州容柏生建筑结构设计事务所&#xff1b;2.华南理工大学建筑设计研究院基本概念 ( Concept )欧拉梁单元基于一定的假设(Kirchhoff假设)&#xff0c;在梁的高度远小于其跨…

oracle保存type类型,oracle type类型

--创建类型说明***********************************************************create or replace type dept_type as object(--成员变量h_deptno number(2),h_dname varchar2(14),h_loc varchar2(13),--成员函数、过程member procedure changedept(name in varchar2,loc in var…