0
給定一個目錄中的多個文件如何使用正則表達式在Java中讀取多個文本文件中的數據?
我必須從目錄中只讀取文本文件並打印其中的所有信息。
我的實現:
File filepath=new File("c:/test");
Pattern p=Pattern.compile("[a-zA-Z0-9_]+.txt");
String s1[]=filepath.list();
for (int i=0;i<s1.length;i++){
Matcher m=p.matcher(s1[i]);
if(m.find()&&m.equals(s1));
System.out.println(s1[i]);
File file1=new File(s1[i]);
readFromFile(file1);
}
static void readFromFile(File filename) throws IOException{
String line = null;
FileReader fileReader = new FileReader(filename); //1
BufferedReader bufferedReader = new BufferedReader(fileReader);
while((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
bufferedReader.close();
fileReader.close();
}
- 在運行上面的程序我在位置1獲得空指針在代碼中表示。
- 雖然我知道在文件類中使用fileList方法的方法,但我可以讀取目錄中的所有文件,並且我也知道我可以在String類的只讀文本文件中使用endsWith方法。
但我想知道如何使用上述實現我可以讀取文本文件中的所有數據。
任何人都可以指導我如何正確處理上述方法。
我不知道你的問題,但是這個'if(m.find()&& m.equals(s1));'是錯誤的:它是一個沒有代碼塊的if。刪除該分號。此外,您可能需要在'if'和'for for'循環結束之間的所有內容的括號。 – Bohemian