Java 遍历文件夹里面的全部文件、指定文件
Java 手册
listFiles
public File[] listFiles(FileFilter filter)
- 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。除了返回数组中的路径名必须满足过滤器外,此方法的行为与
方法相同。如果给定listFiles()filter为null,则接受所有路径名。否则,当且仅当在路径名上调用过滤器的方法返回FileFilter.accept(java.io.File)true时,该路径名才满足过滤器。 -
- 参数:
filter- 文件过滤器- 返回:
- 抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件和目录。如果目录为空,那么数组也将为空。如果抽象路径名不表示一个目录,或者发生 I/O 错误,则返回
null。 - 抛出:
SecurityException- 如果存在安全管理器,且其方法拒绝对目录进行读访问SecurityManager.checkRead(java.lang.String)- 从以下版本开始:
- 1.2
遍历并且删除指定文件夹里面的全部文件
import java.io.File;
public class FileExer3 {
public static void main(String[] args) {
File file = new File("E:\\");
del(file);
}
public static void del(File file) {
//判断指定文件是否为空
//判断是不是目录,如果是,递归执行del()
if(file.isDirectory()) {
//获取目录下的所有子文件和子目录
File[] fs = file.listFiles();
for(File f : fs) {
//逐个判断每个子文件
del(f);
}
}
//判断是不是文件或者空目录,如果是,直接删除
file.delete();
}
}
查找指定文件夹里面以 .class 和 .java 结尾的文件
import java.io.File;
public class FileExer4 {
public static void main(String[] args) {
//创建一个file对象,将路径标记给file
File file = new File("D:\\\\workspace");
//调用方法
find(file);
System.out.println(javacount);
System.out.println(classcount);
}
static int javacount = 0;
static int classcount = 0;
public static void find(File file) {
//判断file对象是否为空
if(file == null)
throw new NullPointerException("亲!找不到路径啊!!!");
//判断是不是文件夹
if(file.isDirectory()) {
//用数组来获取这个目录下的子文件夹
File[] fs = file.listFiles();
for(File f : fs) {
//递归遍历所有子文件夹
find(f);
}
}
//如果是标准文件
//如果是class文件
else if(file.getName().endsWith("class")) {
classcount++;
}
//如果是java文件
else if(file.getName().endsWith("java")) {
javacount++;
}
}
}
Java 遍历文件夹里面的全部文件、指定文件的更多相关文章
- 递归法绑定文件夹到导航树&在指定文件夹下新建文件夹
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.QueryString[&q ...
- 重命名文件夹提示"找不到指定文件"
本人Win10使用360粉碎了一个文件夹后,出现如下问题,并且重启无效,因已修复好,借图: 出现以上问题不用慌,程序员必备技能,重装系统可破. 哈哈,开个玩笑,解决方法步骤如下: ①百度下载 Fold ...
- java 弹出选择目录框(选择文件夹),获取选择的文件夹路径
java 弹出选择目录框(选择文件夹),获取选择的文件夹路径 java 弹出选择目录框(选择文件夹),获取选择的文件夹路径:int result = 0;File file = null;String ...
- Python遍历一个文件夹下有几个Excel文件及每个Excel文件有几个Sheet
一. 解决问题: 工作中常会遇到合并Excel文件的需求,Excel文件数量不确定,里面的Sheet 数量是可变的,Sheet Name是可变的,所以,需要用到遍历一个文件夹下有几个Excel文件,判 ...
- java实现批量修改指定文件夹下所有后缀名的文件为另外后缀名的代码
java实现批量修改指定文件夹下所有后缀名的文件为另外后缀名的代码 作者:Vashon package com.ywx.batchrename; import java.io.File; import ...
- java:多层文件夹情况下,判断文件夹下是否有文件夹,并获取到没有文件夹的名字的方法
业务问题案例 在公司遇到的一个问题,本以为很小很好解决,没想到花了一下午时间.图给的是文件路径,page1下有10个文件夹,每个有的有文件夹或者文件,要求得到page1下(即:123456789,10 ...
- C#删除只读文件或文件夹(解决File.Delete无法删除文件)
引用: http://www.jb51.net/article/72181.htm C#删除只读文件的方法: if (File.GetAttributes(FFName).ToString().I ...
- 【转帖】Linux文件夹对比并提取的差分文件技巧-rsync的妙用
Linux文件夹对比并提取的差分文件技巧-rsync的妙用 [日期:2016-02-13] 来源:oschina.net 作者:mengshuai [字体:大 中 小] https://www.li ...
- 怎么统计指定文件夹下含有.xml格式的文件数目
如何统计指定文件夹下含有.xml格式的文件数目?如题 ------解决思路----------------------Directory.GetFiles(@"路径", " ...
- C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限
C#修改文件或文件夹的权限,为指定用户.用户组添加完全控制权限 public void SetFileRole(string foldPath) { DirectorySecurity fsec = ...
随机推荐
- LA 3268 号码簿分组(最大流+二分)
https://vjudge.net/problem/UVALive-3268 题意: 有n个人和m个组.一个人可能属于很多组.现在请你从某些组中去掉几个人,使得每个人只属于一个组,并使得人数最多的组 ...
- UVa 11609 组队(快速幂)
https://vjudge.net/problem/UVA-11609 题意: 有n个人,选一个或多个人参加比赛,其中一名当队长,有多少种方案?如果参赛者完全相同,但队长不同,算作不同的方案. 思路 ...
- 添加 LogCat 到Eclipse
当你第一次在 Eclipse 中运行 Android 项目的时候,Eclipse 会提醒你一次是否要添加 LogCat 这个工具. 如果你现在还没有添加上的话,我这里教你一下如何手动添加 LogCat ...
- error: device offline - waiting for device -
解决方法:重启服务 一.关闭 adb kill-server 二.启动 adb start-server 三.连接 adb connect 192.168.1.10 四.查看设备 adb device ...
- qt 数据库操作总结
#include <QtSql>QT += sql QSqlDatabase类实现了数据库连接的操作QSqlQuery类用来执行SQL语句QSqlRecord类 封装数据库所有记录 第一: ...
- 递归--练习9--noi8758 2的幂次方表示
递归--练习9--noi8758 2的幂次方表示 一.心得 找准子问题就好 二.题目 8758:2的幂次方表示 总时间限制: 1000ms 内存限制: 65536kB 描述 任何一个正整数都可以用 ...
- 加载样式js
var MaskUtil = (function(){ var $mask,$maskMsg; var defMsg = '数据导出中,请稍待...'; function init(){ if(!$m ...
- redis集群登陆
如何登陆redis集群 redis-cli -h 10.12.4.45 -p 7000 -c -a alkdsjf134rj01 ip:10.12.4.45 集群中的一个点 -c 以集群方式登陆.cl ...
- 面试题总结(一)、TCP协议
声明:本文主要探讨当TCP协议出现在面试笔试场合可能会涉及的问题,每一个知识点讨论力求简洁,便于记忆,但讨论深度有限,如要深入研究可点击参考链接,希望对正在找工作的同学有点帮助. 一.TCP协议简介 ...
- (转)高并发Web服务的演变——节约系统内存和CPU
一.越来越多的并发连接数 现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战.以最简单粗暴的方式解决,就是增加Web系统的机器和升级硬件配置.虽然现 ...