JAVA文件扫描(递归)的实例代码
作者:凡人日记 发布时间:2022-04-08 08:37:20
标签:java,文件扫描,递归
具体代码如下所示:
import java.io.File;
public class Scan {
public static void main(String[] args) {
String fileName = "D:\\Program Files\\腾讯游戏\\英雄联盟" + File.separator;
File f = new File(fileName);
scan(f);
}
public static void scan(File f) {
if (f != null) {
if (f.isDirectory()) {
File[] fileArray = f.listFiles();
if (fileArray != null) {
for (int i = 0; i < fileArray.length; i++) {
// 递归调用
scan(fileArray[i]);
}
}
} else {
System.out.println(f);
}
}
}
}
扫描了“D:\\Program Files\\腾讯游戏\\英雄联盟”中的所有文件
而下面这个可以进行文件的扫描和读取
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
public class TextReader {
public static void main(String[] args) {
String fileName = "E:\\JavaWorkSpace\\Workspaces\\eclipse" + File.separator;
File f = new File(fileName);
scan(f);
}
public static void scan(File f) {
if (f != null) {
if (f.isDirectory()) {
File[] fileArray = f.listFiles();
if (fileArray != null) {
for (int i = 0; i < fileArray.length; i++) {
// 递归调用
scan(fileArray[i]);
}
}
} else {
if ((f.getName().substring(f.getName().lastIndexOf(".") + 1, f
.getName().length())).equals("java")) {
FileReader reader;
try {
Thread.sleep(3000);
reader = new FileReader(f);
BufferedReader Bufferedreader = new BufferedReader(
reader);
String content = "";
while ((content = Bufferedreader.readLine()) != null) {
System.out.println(content);
}
} catch (Exception e) {
// TODO Auto-generated catch block
}
}
}
}
}
}
总结
以上所述是小编给大家介绍的JAVA文件扫描(递归)的实例代码 ,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://www.cnblogs.com/zxbk/p/4736058.html
0
投稿
猜你喜欢
- Java接口(interface)的概念及使用在抽象类中,可以包含一个或多个抽象方法;但在接口(interface)中,所有的方法必须都是抽
- poi导入纯数字等问题用poi导出excel时候,如果单元格设置纯数字,输入的数据一旦过大就是自动显示成科学记数法,导致导入后的数据出错,解
- 文件数据流在java语言中,进行文件输入和输出时,经常会使用到FileIntputStream和FileOutputStream两个文件数据
- 一. 依赖管理Ⅰ. 部分dependency导入时为啥不需要指定版本?我们创建项目时添加的依赖并没有帮我们指定版本号<>,那Sp
- Java实现简单的类似QQ聊天工具,供大家参考,具体内容如下所使用到的知识点:java socket编程之TCP协议java Swing简单
- 定义MD全称Message-Digest,即信息摘要,所以MD家族的算法也叫信息摘要算法MD家族有MD2、MD3、MD4、MD5,一代比一代
- Threadlocal有什么用:简单的说就是,一个ThreadLocal在一个线程中是共享的,在不同线程之间又是隔离的(每个线程都只能看到自
- 前言本文主要给大家介绍了关于Java读取二进制文件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。读Hex写CS
- 2017年一直以来在公司负责爬虫项目相关工程,主要业务有预定、库存、在开发中也遇到很多问题,随手记录一下,后续会持续更新。chrome、fi
- 此篇文章内容仅限于 描述 thy3.0 自定义标签的说明,所以你在看之前,请先会使用它。直奔主题,以下代码是如何引用 第三方标签的。说明:
- Handler是什么?Handler 是一个可以实现多线程间切换的类,通过 Handler 可以轻松地将一个任务切换到 Handler 所在
- 有时候,我们在同一个activity里面有很多fragment,在横竖屏的时候,有些fragment要求重新加载数据,有些不需要,如何简单控
- 小程序官方流程图如下,官方地址 : https://developers.weixin.qq.com/miniprogram/dev/fra
- Mybatis基础回顾与高级应用数据库:mysql5.7jdk:15引入依赖<!--引入依赖--> &
- 首先,这两者是完全不同的概念,绝对不能混为一谈。1.什么是Java内存模型?Java内存模型是Java语言在多线程并 * 况下对于共享变量读写
- 背景使用flowable自带的flowable-ui制作流程图使用springboot开发流程使用的接口完成流程的业务功能一、flowabl
- mybatis的大于小于号转义符号言简意赅!如下XML转义字符<<小于号>>大于号<=
- 一.内容抽象类当编写一个类时,常常会为该类定义一些方法,这些方法用于描述这个类的行为。但在某些情况下只需要定义出一些方法,而不需要具体的去实
- 1、 namenode启动在本系列文章三中分析了hadoop的启动文件,其中提到了namenode启动的时候调用的类为org.apache.
- Java8 LocalDateTime与timestamp转换将timestamp转为LocalDateTimepublic LocalDa