代碼思路:
想要循環遍歷文件夾下所有子文件夾,就要用到遞歸。
首先判斷路徑是否存在:
是:獲取文件
判斷是否文件夾:
是:調用自身,繼續獲取子文件夾下內容
否:判斷文件后綴,符合則輸出
否:輸出提示
package com.hanqi.maya.util;import java.io.File;import java.util.Scanner;public class TestGuolv { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("請輸入要查找的路徑"); String s=sc.nextLine(); File file =new File(s); filesum(file,1); } public static void filesum(File f,int len){ if(f.exists()){//判斷路徑是否存在 File[] files=f.listFiles(); //獲取路徑下的文件名 for(File fi:files){ //循環輸出文件名 if(fi.isDirectory()){ //判斷是否文件夾 printBlank(len); System.out.println(fi.getName()+"文件夾"); filesum(fi,len+1); //繼續調用自身 }else{ printBlank(len); //輸出空格 if(fi.getName().endsWith(".java")){//如果是文件則 判斷是否“.java”后綴,是則輸出 System.out.println(fi.getName()); } } } }else{ System.out.println("文件不存在?。。?quot;); } } public static void printBlank(int len){ for (int i = 0; i < len; i++) {//輸出. 以區分文件夾層次 System.out.print(". "); } }}
總結與問題:
昨天學到輸出文件夾下所有文件,今天稍作改動變成了找出文件夾下指定后綴的文件。
又因為輸出的時候沒有層次,所以寫了個循環用來在輸出的文件前面加空格以便層次分明,再后來發現空格對漢字的層次不夠分明,遇到漢字會縮進幾個空格,但是用符號就不會這樣。
還有如何控制指定后綴名的問題沒有解決。
以上這篇Java實現簡單文件過濾器功能就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答
圖片精選