1. 程式人生 > >Java實現簡單文件過濾器

Java實現簡單文件過濾器

想要 空格 遞歸 port 文件過濾 list rgs lis http

輸入路徑查找該路徑下的指定文件類型的文件

代碼思路:

想要循環遍歷文件夾下所有子文件夾,就要用到遞歸。

首先判斷路徑是否存在:

  是:獲取文件

    判斷是否文件夾:

      是:調用自身,繼續獲取子文件夾下內容

      否:判斷文件後綴,符合則輸出

  否:輸出提示

 1 package com.hanqi.maya.util;
 2 
 3 import java.io.File;
 4 import java.util.Scanner;
 5 
 6 public class TestGuolv {
 7     public static void main(String[] args) {
8 Scanner sc=new Scanner(System.in); 9 System.out.println("請輸入要查找的路徑"); 10 String s=sc.nextLine(); 11 File file =new File(s); 12 filesum(file,1); 13 } 14 public static void filesum(File f,int len){ 15 16 if(f.exists()){//判斷路徑是否存在 17 File[] files=f.listFiles(); //
獲取路徑下的文件名 18 for(File fi:files){ //循環輸出文件名 19 if(fi.isDirectory()){ //判斷是否文件夾 20 printBlank(len); 21 System.out.println(fi.getName()+"文件夾"); 22 filesum(fi,len+1); //繼續調用自身 23 }else{ 24 printBlank(len); //
輸出空格 25 if(fi.getName().endsWith(".java")){//如果是文件則 判斷是否“.java”後綴,是則輸出 26 System.out.println(fi.getName()); 27 } 28 } 29 } 30 }else{ 31 System.out.println("文件不存在!!!"); 32 } 33 } 34 35 public static void printBlank(int len){ 36 for (int i = 0; i < len; i++) {//輸出. 以區分文件夾層次 37 System.out.print(". "); 38 } 39 40 } 41 }

技術分享

總結與問題:

昨天學到輸出文件夾下所有文件,今天稍作改動變成了找出文件夾下指定後綴的文件。

又因為輸出的時候沒有層次,所以寫了個循環用來在輸出的文件前面加空格以便層次分明,再後來發現空格對漢字的層次不夠分明,遇到漢字會縮進幾個空格,但是用符號就不會這樣。

還有如何控制指定後綴名的問題沒有解決。

路漫漫其修遠兮。

Java實現簡單文件過濾器