2011-10-01 65 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); 
      } 
     }