Java編程文件遍歷之指定遍歷的層數(shù)詳細(xì)代碼
遍歷就是把每個(gè)元素都訪問(wèn)一次.比如一個(gè)二叉樹(shù),遍歷二叉樹(shù)意思就是把二叉樹(shù)中的每個(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-09IDEA?2020.3最新永久激活碼(免費(fèi)激活到?2099?年,親測(cè)有效)
分享一下?IntelliJ?IDEA?2020.3.1?最新激活注冊(cè)碼,破解教程如下,可免費(fèi)激活至?2099?年,親測(cè)有效,本文給大家分享兩種方法,感興趣的朋友參考下吧2021-01-01IntelliJ Idea 2020.1 正式發(fā)布,官方支持中文(必看)
這篇文章主要介紹了IntelliJ Idea 2020.1 正式發(fā)布,官方支持中文了,本文通過(guò)截圖的形式給大家展示,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04java數(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-03Java ArrayList.toArray(T[]) 方法的參數(shù)類型是 T 而不是 E的原因分析
這篇文章主要介紹了Java ArrayList.toArray(T[]) 方法的參數(shù)類型是 T 而不是 E的原因分析的相關(guān)資料,需要的朋友可以參考下2016-04-04Mybatis-Plus中的@TableName 和 table-prefix使用
table-prefix 是一個(gè)全局配置,它會(huì)自動(dòng)在所有表名前添加指定的前綴,這個(gè)配置對(duì)于那些使用一致命名約定的數(shù)據(jù)庫(kù)表非常有用,這篇文章主要介紹了Mybatis-Plus中的@TableName 和 table-prefix使用,需要的朋友可以參考下2024-08-08AsyncHttpClient ListenableFuture源碼流程解讀
這篇文章主要為大家介紹了AsyncHttpClient ListenableFuture源碼流程解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12