Java 目录操作一(递归创建目录、删除目录、判断目录是否为空、判断文件是否隐藏、获取目录大小、在指定目录中查找文件)
2023-09-11 14:14:47 时间
递归创建目录
import java.io.File;
public class Main {
public static void main(String[] args) {
String directories = "D:\\a\\b\\c\\d\\e\\f\\g\\h\\i";
File file = new File(directories);
boolean result = file.mkdirs();
System.out.println("Status = " + result);
}
}
以上代码运行输出结果为:
Status = true
删除目录
File 类的 ofdir.isDirectory(), dir.list() 和 deleteDir() 方法在一个个删除文件后删除目录 :
import java.io.File;
public class Main {
public static void main(String[] argv) throws Exception {
// 删除当前目录下的 test 目录
deleteDir(new File("./test"));
}
public static boolean deleteDir(File dir) {
if (dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
if(dir.delete()) {
System.out.println("目录已被删除!");
return true;
} else {
System.out.println("目录删除失败!");
return false;
}
}
}
以上代码运行输出结果为:
目录已被删除!
判断目录是否为空
import java.io.File;
public class Main
{
public static void main(String[] args)
{
File file = new File("./testdir"); // 当前目录下的 testdir目录
if(file.isDirectory()){
if(file.list().length>0){
System.out.println("目录不为空!");
}else{
System.out.println("目录为空!");
}
}else{
System.out.println("这不是一个目录!");
}
}
}
以上代码运行输出结果为:
目录 D://Java/file.txt 不为空!
判断文件是否隐藏
import java.io.File;
public class Main {
public static void main(String[] args) {
File file = new File("C:/Demo.txt");
System.out.println(file.isHidden());
}
}
以上代码运行输出结果为(Demo.txt为隐藏文件):
True
获取目录大小
import java.io.File;
import org.apache.commons.io.FileUtils;
public class Main {
public static void main(String[] args) {
long size = FileUtils.sizeOfDirectory(new File("C:/test"));
System.out.println("Size: " + size + " bytes");
}
}
以上代码运行输出结果为:
Size: 2048 bytes
在指定目录中查找文件
import java.io.File;
public class Main {
public static void main(String[] argv) throws Exception {
File dir = new File("../java");
String[] children = dir.list();
if (children == null) {
System.out.println("该目录不存在");
}
else {
for (int i = 0; i < children.length; i++) {
String filename = children[i];
System.out.println(filename);
}
}
}
}
以上代码运行输出结果为:
Car.class
FileUtil.class
FileUtil.java
HelloWorld.class
HelloWorld.java
HelloWorldDebug.class
HelloWorldDebug.java
……
相关文章
- Java根据Freemarker模板生成Word文件
- java基础—计算: 2012-3-17"到"2012-4-6"中间有多少天?
- java读取资源文件的五种方式
- 基于Java后端与Typescript前端的代码自动生成 - malcolmcrum
- Java面试集合(六)
- Java 对 PDF 文件进行电子签章
- JAVA日志库2
- Java poi Excel导出文件,Java poi 分批次导出大批量数据
- java.lang.OutOfMemoryError: Java heap space
- java使用poi读取ppt文件
- Java .class 反编译 Luyten,导出 .java文件,查看jar 包目录,超级简单,实用
- Java之修改文件内容:字符串逐行替换
- 【蓝桥杯Java组】刷了这五道题不信你还不会BFS(广度优先搜索)
- 源码分析 There is no getter for property named '*' in 'class java.lang.String
- Java中的ReentrantLock和synchronized两种锁定机制的对比
- 连环清洁工之特殊任务--java资源如何关闭?
- Java读取写入文件,正则,读取路径
- Java 打开文件夹并选中文件
- Java通过流的方式从OSS打压缩包下载或者直接下载文件,并返回输出流给前端(弹框选择下载路径)
- Java读取word文件内容
- Java八种基本数据类型&字符串&运算符(图文详解)