2011-10-01 4 views
0

특정 디렉토리에 Java 프로그램이 있습니다. 나는 프로그램과 동일한 디렉토리에 .dat 또는 .DAT으로 끝나는 모든 파일의 목록을 찾으려고합니다. 그런 다음 각 파일의 처음 몇 줄을보고 제목 문자열을 구문 분석해야합니다. 프로그램은 파일 이름의 배열과 각 파일의 처음 세 줄의 배열을 반환해야합니다. 나는 IO 물건에 꽤 새롭다, 누군가 도울 수 있냐?여러 파일 헤더 검사

Example: C:/my_directory/ 
Files: Program.class, 
     FOO.DAT (starts with "Lorem\nipsem\n$$0"), 
     bar.dat (starts with "ipsem\nLorem\n$$0") 

Return: ["FOO.DAT","bar.dat"] and ["Lorem\nipsem\n","ipsem\nLorem\n"] 

고맙습니다.

+2

IO 패키지 용 Javadoc (http://download.oracle.com/javase/7/docs/api/)을 읽는 것이 좋습니다. 그런 다음 구체적인 질문으로 되돌아 가십시오. 이처럼 광범위한 질문을하지 않을 것입니다. –

답변

1

다음 코드 조각은 .dat 또는 .DAT 개의 파일 확장명이있는 모든 파일을 인쇄합니다. 파일에서 처음 세 줄을 읽는 방법을 찾아보십시오. 상당히 간단해야합니다.

 File tmp = new File("/tmp"); 
     List<String> fileList = new ArrayList<String>(); 
     if(tmp.isDirectory()) 
     { 
      for(File f : tmp.listFiles()) 
      { 
       if(f.isFile()) 
       { 
        if((f.getName().endsWith(".dat") || f.getName().endsWith(".DAT"))) 
        { 
         fileList.add(f.getName()); 
        } 
       } 
      } 

      for(String fileName : fileList) 
      { 
       System.out.println(fileName); 
      } 
     }