Java編程文件遍歷之指定遍歷的層數(shù)詳細(xì)代碼
遍歷就是把每個(gè)元素都訪問(wèn)一次.比如一個(gè)二叉樹,遍歷二叉樹意思就是把二叉樹中的每個(gè)元素都訪問(wèn)一次
本例演示了“文件遍歷時(shí),指定遍歷的層數(shù)”的實(shí)現(xiàn)方式。
1.例子代碼
package com.myjava.test;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class JavaTest {
/**
* @param args
*/
public static void main(String[] args) {
JavaTest jt = new JavaTest();
String path = "E:\\filetest";
File file = new File(path);
try {
jt.getFile(file, 0);
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
int mDirLevel = 2;
//層數(shù)
private void getFile(File file, int dirLevel) throws Exception {
if (mDirLevel != -1 && dirLevel > mDirLevel) {
dirLevel = 0;
return;
}
if (file == null) {
return;
}
if (file.exists()) {
if (file.isFile()) {
//do what?
System.out.println("file:" + file.getAbsolutePath());
} else {
// 獲得當(dāng)前文件夾下的所有子文件和子文件夾
File files[] = file.listFiles();
// 循環(huán)處理每個(gè)對(duì)象
if (files == null) {
return;
}
for (int i = 0; i < files.length; i++) {
// 遞歸調(diào)用,處理每個(gè)文件對(duì)象
getFile(files[i], dirLevel +1);
}
}
}
}
}
2. 測(cè)試結(jié)果:
file:E:\filetest\f.txt
file:E:\filetest\f1\新建文本文檔 - 副本.txt
file:E:\filetest\f1\新建文本文檔.txt
file:E:\filetest\f1 - 副本\新建文本文檔.txt
總結(jié)
以上就是本文關(guān)于Java編程文件遍歷之指定遍歷的層數(shù)詳細(xì)代碼的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
SpringBootTest單元測(cè)試報(bào)錯(cuò)的解決方案
這篇文章主要介紹了SpringBootTest單元測(cè)試報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
IDEA?2020.3最新永久激活碼(免費(fèi)激活到?2099?年,親測(cè)有效)
分享一下?IntelliJ?IDEA?2020.3.1?最新激活注冊(cè)碼,破解教程如下,可免費(fèi)激活至?2099?年,親測(cè)有效,本文給大家分享兩種方法,感興趣的朋友參考下吧2021-01-01
IntelliJ Idea 2020.1 正式發(fā)布,官方支持中文(必看)
這篇文章主要介紹了IntelliJ Idea 2020.1 正式發(fā)布,官方支持中文了,本文通過(guò)截圖的形式給大家展示,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
java數(shù)據(jù)類型和運(yùn)算符的深入講解
這篇文章主要給大家介紹了關(guān)于java數(shù)據(jù)類型和運(yùn)算符的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Java ArrayList.toArray(T[]) 方法的參數(shù)類型是 T 而不是 E的原因分析
這篇文章主要介紹了Java ArrayList.toArray(T[]) 方法的參數(shù)類型是 T 而不是 E的原因分析的相關(guān)資料,需要的朋友可以參考下2016-04-04
Mybatis-Plus中的@TableName 和 table-prefix使用
table-prefix 是一個(gè)全局配置,它會(huì)自動(dòng)在所有表名前添加指定的前綴,這個(gè)配置對(duì)于那些使用一致命名約定的數(shù)據(jù)庫(kù)表非常有用,這篇文章主要介紹了Mybatis-Plus中的@TableName 和 table-prefix使用,需要的朋友可以參考下2024-08-08
AsyncHttpClient ListenableFuture源碼流程解讀
這篇文章主要為大家介紹了AsyncHttpClient ListenableFuture源碼流程解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12

