2014-11-24 4 views
0
public void Process(File aFile) throws IOException, ParseException { 

    if(aFile.isFile()) 
    { 
    System.out.println("File name:"+aFile.getAbsolutePath()); 
    } 
    else if (aFile.isDirectory()) { 

    File[] listOfFiles = aFile.listFiles((FileFilter) HiddenFileFilter.HIDDEN); 
    if(listOfFiles!=null) { 
      for (int i = 0; i < listOfFiles.length; i++) 
       Process(listOfFiles[i]); 
    } 

    File[] listOfFiles1 = aFile.listFiles((FileFilter) HiddenFileFilter.VISIBLE); 
    if(listOfFiles1!=null) { 
      for (int i = 0; i < listOfFiles1.length; i++) 
       Process(listOfFiles1[i]); 
    } 
    } 
} 

전화 주에서 함수java를 사용하여 숨겨진 폴더를 검색하는 방법은 무엇입니까?

String nam = "E:\\"; 
File aFile = new File(nam); 
Process(aFile); 

내가 E에 존재하는 모든 파일의 세부 정보를 검색하려면 위의 코드를 사용하고 다음과 같이 : \를. 숨겨진 폴더 파일 정보를 검색하지 않습니다. 누구든지이 일을 도울 수 있습니까?

+0

당신이 * 그것은 * 숨겨진 폴더 파일의 세부 정보를 검색하지 않습니다 말했다 그것은 listOfFiles'가 null 또는 Process' 방법은 아무것도 처리하지 않는 '것을'의미는 무엇입니까? – ortis

답변

0

없이 그냥 FileFilter을 사용하고 isHidden()에 기반한 목록에 각 숨겨진 폴더의 경로를 입력하십시오.

샘플 코드 :

public static void process(File aFile){ 
    if (aFile.isFile()) { 
     System.out.println("File name:" + aFile.getAbsolutePath()); 
    } else if (aFile.isDirectory()) { 
     if(aFile.isHidden()){ 
      System.out.println(aFile.getAbsolutePath()+"folder is hidden"); 
     } 
     File[] listOfFiles = aFile.listFiles(); 
     if (listOfFiles != null) { 
      for (int i = 0; i < listOfFiles.length; i++) 
       process(listOfFiles[i]); 
     } 
    } 
} 
+0

폴더가 액세스가 거부되었습니다. 해당 폴더에 액세스하는 방법 –

+0

외장 드라이브입니까? 그것은 나를 위해 잘 작동합니다. 'aFile.canRead() '로 시도하십시오 – Braj

+0

모든 폴더를 가져 왔지만 제한된 폴더의 파일 세부 정보를 검색하지 않습니다 –

관련 문제