JavaSE 文件递归之删除&获取文件夹文件夹中全部的以.jpg的文件的绝对路径
1.递归删除文件
假设一个文件夹以下还有子文件夹,进行删除的话会 报错,这个时候要使用递归的方式来删除这个文件文件夹中的全部文件以及文件夹
package cn.itcast.digui; import java.io.File; /**
* 递归删除demo目录中全部文件包含目录
* 分析:
* A:封装目录
* B:获取改目录下的全部文件或者目录
* C:遍历改file数组,得到每个File对象
* D:推断该file对象是都是目录
* 是:回到B
* 否:删除
* @author Administrator
*
*/
public class GiGuiDelete {
public static void main(String[] args) {
File srcFile=new File("demo");
deleteFolder(srcFile);
}
private static void deleteFolder(File srcFile) {
File[] files = srcFile.listFiles();
for(File f:files){
if(f.isDirectory()){
deleteFolder(f);//递归调用
}else{
System.out.println(f.getName()+"---"+f.delete());//删除文件
}
}
System.out.println(srcFile.getName()+"---"+srcFile.delete());//删除空的目录
}
}
对于測试结果,能够进行debug測试,这里我就不进行測试了!
2.获取文件夹文件夹中全部的以.jpg的文件的绝对路径
package cn.itcast_03; import java.io.File; /*
* 需求:请大家把E:\JavaSE文件夹下全部的java结尾的文件的绝对路径给输出在控制台。 *
* 分析:
* A:封装文件夹
* B:获取该文件夹下全部的文件或者文件夹的File数组
* C:遍历该File数组。得到每个File对象
* D:推断该File对象是否是文件夹
* 是:回到B
* 否:继续推断是否以.java结尾
* 是:就输出该文件的绝对路径
* 否:不搭理它
*/
public class FilePathDemo {
public static void main(String[] args) {
// 封装文件夹
File srcFolder = new File("E:\\JavaSE"); // 递归功能实现
getAllJavaFilePaths(srcFolder);
} private static void getAllJavaFilePaths(File srcFolder) {
// 获取该文件夹下全部的文件或者文件夹的File数组
File[] fileArray = srcFolder.listFiles(); // 遍历该File数组,得到每个File对象
for (File file : fileArray) {
// 推断该File对象是否是文件夹
if (file.isDirectory()) {
getAllJavaFilePaths(file);
} else {
// 继续推断是否以.java结尾
if (file.getName().endsWith(".java")) {
// 就输出该文件的绝对路径
System.out.println(file.getAbsolutePath());
}
}
}
}
}
对于測试大家能够使用debug模式进行查看
JavaSE 文件递归之删除&获取文件夹文件夹中全部的以.jpg的文件的绝对路径的更多相关文章
- python中的目录递归的创建和目录及其下的文件递归的删除
1,删除目录data下的train及其下的所有文件,相当于linux中的rm -rf import shutil shutil.rmtree('data/train') 2,递归的创建目录data/t ...
- C# 获取 与 修改 web.config中的值(修改Xml文件)
定义web.config 中 appSettings 节点 <appSettings> <add key="domainExist" value="fa ...
- C# 文件递归
C# 文件递归 Directory.GetDirectories: 获取指定目录下的文件夹,不包括子目录: Directory.GetFiles:获取指定文件夹下的文件,不包括子目录: 1.获取所 ...
- 2018-02-02-解决IDE中无法忽略的非代码文件
layout: post title: 2018-02-02-解决IDE中无法忽略的非代码文件 key: 20180202 tags: GIT 版本管理 modify_date: 2018-02-02 ...
- iOS中使用ZipArchive压缩和解压缩文件-备
为什么我需要解压缩文件 有许多原因能解释为什么我要在工程中使用压缩和解压缩功能,下面是几个常见的原因: 苹果App Store的50M下载限制 苹 果公司出于流量的考虑,规定在非WIFI环境下,限制用 ...
- Java基础---Java---IO流-----File 类、递归、删除一个带内容的目录、列出指定目录下文件夹、FilenameFilte
File 类 用来将文件或者文件夹封装成对象 方便对文件与文件夹进行操作. File对象可以作为参数传递给流的构造函数 流只用操作数据,而封装数据的文件只能用File类 File类常见方法: 1.创建 ...
- day18 时间:time:,日历:calendar,可以运算的时间:datatime,系统:sys, 操作系统:os,系统路径操作:os.path,跨文件夹移动文件,递归删除的思路,递归遍历打印目标路径中所有的txt文件,项目开发周期
复习 ''' 1.跨文件夹导包 - 不用考虑包的情况下直接导入文件夹(包)下的具体模块 2.__name__: py自执行 '__main__' | py被导入执行 '模块名' 3.包:一系列模块的集 ...
- Java中通过递归调用删除文件夹下所有文件
摘自 : http://blog.sina.com.cn/s/blog_79333b2c0100xiu4.html import java.io.File; public class FileTest ...
- Linux 递归批量删除文件夹或文件的命令
笔者有一次Linux服务器上的网站被别人在每一个文件夹下恶意注入了目录和文件,由于项目的目录太多,手动删除费时费力,最后用Linux的命令批量删除了注入内容.相关命令介绍如下: 递归批量删除文件夹: ...
随机推荐
- bzoj3207花神的嘲讽计划Ⅰ
题意:http://www.lydsy.com/JudgeOnline/problem.php?id=3207 给定一个原字符串和m个询问,每次查询原字符串[l,r]内是否包含给定字符串s (len( ...
- 使用Matlab实现对图片的缩放
在做图像处理的时候,有时需要对图片的像素进行放大或则缩小. 使用Matlab很容易实现对图像的放大和缩小.这里只讲缩放到固定像素的方法. clear; clc; %清除以前的数据 folderName ...
- jacoco功能测试覆盖率统计
1.在java程序的启动脚本(或者tomcat)中加入javaagent参数-javaagent:/home/apps/jacocoagent.jar=destfile=/home/apps/jaco ...
- vue-cli3 vue.config.js配置
module.exports = { // 基本路径 baseUrl: '', // 输出文件目录 outputDir: 'dist', // eslint-loader 是否在保存的时候检查 lin ...
- 实时监控linux
https://www.cnblogs.com/tinywan/p/6826125.html
- uva 103 Stacking Boxes(最长上升子序列)
Description Stacking Boxes Background Some concepts in Mathematics and Computer Science are simp ...
- FOJ Problem 2261 浪里个浪
...
- javaweb学习总结(十四)——JSP原理(转)
一.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写h ...
- 标准C程序设计七---62
Linux应用 编程深入 语言编程 标准C程序设计七---经典C11程序设计 以下内容为阅读: <标准C程序设计>(第7版) 作者 ...
- php转换字符编码为utf-8
php转换字符编码为utf-8 function strToUtf8($str){ $encode = mb_detect_encoding($str, array("ASCII" ...