2011-11-01 60 views
0

我想索引數組中的多個文件名(.txt)。在java中索引文件名

例如

static String[] filename = new String[40];

,我必須在項目目錄40個文件。我想使用for循環將他們的名字插入到數組中,而不是手動輸入。 filename[0] = ".txt"

+0

您確定無法找到解決方案嗎?[此處](http://stackoverflow.com/questions/3154488/best-way-to-iterate-through-a-directory-in- JAVA)**? –

+1

不知道我是否正確理解了這個問題......你不能簡單地使用[java.io.listFiles](http://download.oracle.com/javase/6/docs/api/java/io/File。 HTML#listFiles%28%29)? –

+0

@Till Helge Helwiq:我試過了,它在showFiles(文件)上給我一個錯誤。我已經進入了文件所在的項目目錄路徑。仍然無法正常工作 – HShbib

回答

1

我會看看創建一個File對象(包含要列出的文件的目錄),然後調用listFiles() - 迭代遍歷文件並從中填充字符串數組的方法。

0
File dir = new File(dirname); 

String[] filenames = dir.list(); 

編輯: 示例程序列出了當前目錄下的文件:

import java.io.*; 

class dir { 

    public static void main(String[] argv) { 
    File dir = new File("."); 
    String[] filenames = dir.list(); 

    for (int i= 0; i < filenames.length; i++) { 
     System.out.println(filenames[i]); 
    } 
    } 
} 
+0

當我嘗試打印字符串時,它顯示爲空。而不是dirname我輸入了文件的路徑? – HShbib

+0

適合我。見上面的編輯。 –

1

實現一個FilenameFilter接受其名稱結尾.txt文件。

將該過濾器傳遞到theFile.listFiles(FilenameFilter)以獲得一個不錯的File[],該文件包含位於theFile所代表的目錄中的文本文件。

而忘記:

  1. 保持代表File[]名稱的String[]。如果需要File,請保留一組File
  2. 使用可擴展列表(ArrayList,Vector) - 沒有必要。