코드 아이디어 :
폴더의 모든 하위 폴더를 루프하려면 재귀를 사용해야합니다.
먼저 경로가 존재하는지 확인하십시오.
예 : 파일을 얻으십시오
폴더인지 확인하십시오.
예 : 자신에게 전화를 걸어 서브 폴더에서 계속 내용을 얻으십시오.
아니오 : 파일 접미사를 결정하면 일치하면 출력이됩니다.
아니오 : 출력 프롬프트
패키지 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 ( "찾을 경로를 입력하십시오"); 문자열 s = sc.nextline (); 파일 = 새 파일; FileSum (파일, 1); } public static void filesum (file f, int len) {if (f.exists ()) {// 경로가 파일에 존재하는지 여부 [] files = f.listfiles (); // (파일 fi : file) {// cyclic output file name if (fi.isdirectory ()) {// 폴더 printBlank (len) 여부를 판단하는 경로에서 파일 이름을 가져옵니다. System.out.println (fi.getName ()+"폴더"); FileSum (fi, len+1); // 계속 자신을 호출} else {printBlank (len); // 출력 공간 if (fi.getName (). EndSwith ( ". java")) {// 파일 인 경우 ".java"접미사인지 확인하십시오. "접미사"인 경우 output System.out.println (fi.getName ()); }}}}} else {system.out.println ( "파일이 존재하지 않습니다 !!!"); }} public static void printBlank (int len) {for (int i = 0; i <len; i ++) {// 출력. 폴더 계층 구조 System.out.print ( ".")를 구별하려면; }}}요약 및 질문 :
어제 출력 폴더의 모든 파일에 대해 알게되었지만 오늘은 폴더 아래에 지정된 접미사가있는 파일을 찾기 위해 약간 변경했습니다.
출력시 계층 구조가 없기 때문에 레벨이 명확 해지도록 출력 파일 앞에 공백을 추가하는 루프를 작성했습니다. 나중에, 나는 공간이 한자가 충분히 명확하지 않다는 것을 알았습니다. 한자를 만나면 여러 공간을 들여 보내지 만 기호를 사용할 때는 그렇지 않습니다.
지정된 접미사 이름을 제어하는 방법에 대한 문제도 있으며 해결되지 않았습니다.
위의 기사 Java는 간단한 파일 필터 기능을 구현합니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.