java遍历文件夹两种方式
1:非递归方式(有点类似二叉树的非递归遍历,采用链表来存储遍历到的文件夹,如果是文件就直接输出)
public void traverseFile(String path){
File[] files;
File file=new File(path);
if(file.exits()){
LinkedList<File> list=new LinkedList<File>();
list.add(file);
while(!list.isEmpty()){
File file2=list.removeFirst();
files=file2.listFiles();
for(File f:files){
if(f.isDirectory()){
System.out.println("文件夹:"+f.getAbsolutePath());
list.add(f);
}else{
System.out.println("文件:"+f.getAbsolutePath());
}
}
}
}else{
System.out.println("文件不存在!");
}
}
2:递归方式
public void traverseFile(String path){
File file=new File(path);
if(file.exits()){
File[] f=file.listFiles();
for(File f2:f){
if(f2.isDirectory()){
System.out.println("文件夹:"+f.getAbsolutePath());
traverseFile(f2.getAbsolutePath());
}else{
System.out.println("文件:"+f.getAbsolutePath());
}
}
}else{
System.out.println("文件不存在!");
}
}
java遍历文件夹两种方式的更多相关文章
- java 下载文件的两种方式和java文件的上传
一:以网络的方式下载文件 try { // path是指欲下载的文件的路径. File file = new File(path); // 以流的形式下载文件. InputStream fis = n ...
- Java 打开文件的两种方式
import java.awt.Desktop; import java.io.File; import java.io.IOException; public class LnkDemo { pub ...
- Eclipse项目中引用第三方jar包时将项目打包成jar文件的两种方式
转载自:http://www.cnblogs.com/lanxuezaipiao/p/3291641.html 方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFES ...
- java 遍历文件夹里的文件
Java遍历文件夹的2种方法: A.不使用递归: import java.io.File; import java.util.LinkedList; public class FileSystem { ...
- 对Java代码加密的两种方式,防止反编译
使用Virbox Protector对Java项目加密有两种方式,一种是对War包加密,一种是对Jar包加密.Virbox Protector支持这两种文件格式加密,可以加密用于解析class文件的j ...
- Springboot 创建的maven获取resource资源下的文件的两种方式
Springboot 创建的maven项目 打包后获取resource下的资源文件的两种方式: 资源目录: resources/config/wordFileXml/wordFileRecord.xm ...
- JAVA 遍历文件夹下的所有文件
JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...
- 加载xib文件的两种方式
一.加载xib文件的两种方式 1.方法一(NewsCell是xib文件的名称) NSArray *objects = [[NSBundle mainBundle] loadNibNamed:@&quo ...
- JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)
JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...
随机推荐
- 基础知识之 - C# Using的用法
C#里面Using有两种用法: 1.作为指令. using+命名空间,导入其他命名空间中定义的类型,这样可以在程序中直接用命名空间中的类型,不必指定命名空间: 命名空间是.NET程序在逻辑上的组织结构 ...
- HDU 1257——最少拦截系统——————【LIS变型题】
最少拦截系统 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Statu ...
- jqGrid随窗口大小变化自适应宽度
$(function(){ $(window).resize(function(){ $("#jqgridID").setGridWidth($(window).width()); ...
- vsCode代码缩略图
vsCode配置代码缩略图: 文件--首选项--设置 搜索 minimap true 打开 false 关闭
- 将金额数字转换为大写汉字的js函数
//将金额数字转换为大写汉字的函数 function convertCurrency(money) { //汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁 ...
- Thrift笔记(五)--Thrift server源码分析
从(四)server代码跟进 public static void simple(MultiplicationService.Processor processor) { try { TServerT ...
- Vue中使用eslint
.eslintrc.js module.exports = { root: true, parser: 'babel-eslint', "env": { "browser ...
- select @@identity用法
用select @@identity得到上一次插入记录时自动产生的ID 如果你使用存储过程的话,将非常简单,代码如下:SET @NewID=@@IDENTITY 说明: 在一条 INSERT.SELE ...
- 云端基于Docker的微服务与持续交付实践
云端基于Docker的微服务与持续交付实践笔记,是基于易立老师在阿里巴巴首届在线技术峰会上<云端基于Docker的微服务与持续交付实践>总结而出的. 本次主要讲了什么? Docker Sw ...
- 关于 “VMware Workstation 不可恢复错误- (vcpu-0)”
重装系统后第一次在 VMware Workstation 上创建虚拟机,结果出现了 VMware Workstation 不可恢复错误: (vcpu-0) 错误. 于是我们遵循它给出的提示,查看一下日 ...