0

나는 동일한 확장자를 가진 많은 파일을 가지고있는 폴더 사용자를 가지고 있습니다. 필터 인 쿼리로 모든 사용자 파일 이름을 찾고 싶습니다.동일한 확장자를 가진 이름의 파일 수를 검색하십시오.

다음 코드에서 쿼리 필터와 동일한 모든 파일을 검색하는 방법은 무엇입니까?

public Collection<User> findUsers(String filter) { 

    List<User> filteredList = new ArrayList<User>(); 
    try { 
     FileInputStream fileInputStream = new FileInputStream("Path of file"); 
     ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream); 
     Object object = objectInputStream.readObject(); 

     while (object.equals(filter)) { 
      filteredList.add((User)object); 
      object = objectInputStream.readObject(); 
     } 
     objectInputStream.close(); 
     } 
     catch(Exception ioEx){ 
      //.............. 
     } 
    } 
    return filteredList; 
} 

도움 주셔서 감사합니다.

+1

귀하의 코드가 귀하의 질문에 일치하지 않습니다 여기에 – chrylis

+0

@chrylis : 예 폴더의 파일을 읽고 deserialize하려고합니다. – AskQuestion

답변

0

당신을 도울 수있는 작은 조각이다. 폴더의 파일이나 직렬화 된 스트림의 객체를 읽으려고합니까?
+0

거의 도움이되었지만 마지막 행은 나오지 않습니다. – AskQuestion

+0

응용 프로그램에서 User 클래스가 무엇인지 확실하지 않습니다. 나는 단지 문자열을 사용하는 답을 단순화했습니다. –

+0

equals 대신 논리가 있는지 확인하기 위해 조건을 변경 했으므로 작동해야합니다. –

0

1 단계 : 파일 이름

File folder = new File("your/path"); 
File[] listOfFiles = folder.listFiles(); 

2 단계 얻을 : 3 단계 일부 컬렉션 개체에이 이름을 저장 : 컬렉션 개체 트래버스와 지금

을 원하는 필터를 찾아, 그러한 필터를 만드는 데 문제가 있습니까 ??

File folder = new File("/Users/you/folder/"); 
File[] listOfFiles = folder.listFiles(); 
List<String> filteredList = new ArrayList<String>(); 

for (File file : listOfFiles) { 
    // Be aware that folder.listFiles() give list with directories and files 
    if (file.isFile()) { 
     System.out.println(file.getName()); 

     // apply your filter. for simplicity I am equating the file names 
     // name refers to input variable to method 
     if(file.getName().toLowerCase().contains(name.toLowerCase())) { 
      // create user object and add it to list. 
      // Change below line with appropriate constructor params 
      filteredList.add(file.getName()) 
     } 
    } 
} 
+0

네,하지만 먼저 더 나은 설명이 필요합니다. 어떻게 비교하고 싶으십니까? 그리고 노력도 했으니까요. 노력을 기울여서 무엇을 시도 했습니까? –