2015-04-29 98 views
-2

如何掃描我的Java代碼中的整個文件夾,然後將每個文本文件讀入單獨的數組中?我想要做的是在地圖應用程序上創建一組LocationNodes(我創建的類),這是我爲我的大學校園/副項目創建的簡歷。讀取Java中的目錄中的所有文本文件?

當代碼初始化時,我希望我的應用程序掃描我的「LocationTextFiles」文件夾中的所有文本文件。每個文本文件有3組文本:第0行(位置的名稱),第1行(建築物開放的小時數)和第2行-EOF(位置的描述)。然後,我會將這些行每次粘貼到一個新的LocationNode對象中,然後創建一個新的LocationNode對象來重複該過程,直到找到的所有文件都已被讀取。

要做到這一點,最好的方法是什麼?我有設置它的屬性(名稱,hoursText和descriptionText)的類,所以我假設這個函數,我會創建將需要是這個相同的LocationNode類的公共方法?

回答

2

在這裏你去,

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

for (int i = 0; i < listOfFiles.length; i++) { 
    File file = listOfFiles[i]; 
    if (file.isFile() && file.getName().endsWith(".txt")) { 
String content = FileUtils.readFileToString(file); 
    /* do somthing with content */ 
    } 
} 

可以使用數組而不是content。但我建議不要這樣做,如果你有大量的文件或每個文件都很大。當我巨大時,我的意思是大小超過RAM大小。

+0

謝謝!我會試試這個。我使用的文件具有非常小的文本,因此數組可能工作。最多20行文字最多。 –

+0

我收到一個錯誤,說編譯器找不到符號,它在「FileUtils」處指向箭頭? –

+0

你需要添加外部jar。請參閱http://stackoverflow.com/questions/13166350/using-fileutils-in-eclipse更多詳細信息 – Abhishek

相關問題