递归输出指定目录下所有的指定java文件或者全部文件的绝对路径。
程序员文章站
2024-03-04 15:32:05
...
(1)打印指定目录下的所有文件
代码实现:
public class PrintTest {
public static void main(String[] args) {
File file=new File("E:\\学习资料");
print(file,1);
}
private static void print(File rootfile, int level) {
// TODO Auto-generated method stub
File files[]=rootfile.listFiles();
if(files!=null) {
for(File file:files) {
if(file.isFile()) {//是文件
printlevel(level);
System.out.println(file.getName());
}else {//是目录
printlevel(level);
System.out.println(file.getName());
print(file,level+1);
}
}
}
}
private static void printlevel(int level) {//打印层级关系
// TODO Auto-generated method stub
for(int i=1;i<level;i++) {
System.out.print("-");
}
}
}
执行结果
(2)打印指定目录下的wmv文件
import java.io.File;
/*
*递归输出指定目录下所有的java文件的绝对路径案例
第一步:封装目录
第二步:获取目录下所有的文件或者文件夹的File数组
第三步:遍历该File数组,得到每一个File对象
第四步:判断该File对象是否是文件夹
是:回到第一步
否:继续判断是否以.java结尾
是:输出
否:不管
*/
public class PrintTest {
public static void main(String[] args) {
File file=new File("E:\\学习资料");
print(file,1);
}
private static void print(File rootfile, int level) {
// TODO Auto-generated method stub
File files[]=rootfile.listFiles();
if(files!=null) {
for(File file:files) {
if(file.isFile()) {//是文件
printlevel(level);
if(file.getPath().endsWith(".java")) {
System.out.println(file.getName());
}
}else {//是目录
printlevel(level);
//System.out.println(file.getName());
print(file,level+1);
}
}
}
}
private static void printlevel(int level) {
// TODO Auto-generated method stub
for(int i=1;i<level;i++) {
System.out.print("-");
}
}
}
打印结果
上一篇: Repeater对数据进行格式化处理