本文中爲你們介紹使用java8 Stream API逐行讀取文件,以及根據某些條件過濾文件內容vue
在此示例中,我將按行讀取文件內容並在控制檯打印輸出。java
Path filePath = Paths.get("c:/temp", "data.txt"); //try-with-resources語法,不用手動的編碼關閉流 try (Stream<String> lines = Files.lines( filePath )) { lines.forEach(System.out::println); } catch (IOException e) { e.printStackTrace();//只是測試用例,生產環境下不要這樣作異常處理 }
上面的程序輸出將在控制檯中逐行打印文件的內容。spring
Never store password except in mind.
在此示例中,咱們將文件內容讀取爲Stream。而後,咱們將過濾其中包含單詞"password"的全部行。後端
Path filePath = Paths.get("c:/temp", "data.txt"); try (Stream<String> lines = Files.lines(filePath)){ List<String> filteredLines = lines .filter(s -> s.contains("password")) .collect(Collectors.toList()); filteredLines.forEach(System.out::println); } catch (IOException e) { e.printStackTrace();//只是測試用例,生產環境下不要這樣作異常處理 }
程序輸出。springboot
password
咱們將讀取給定文件的內容,並檢查是否有任何一行包含"password"而後將其打印出來。前後端分離
Java 7以前的版本,咱們能夠使用FileReader方式進行逐行讀取文件。微服務
private static void readLinesUsingFileReader() throws IOException { File file = new File("c:/temp/data.txt"); FileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr); String line; while((line = br.readLine()) != null) { if(line.contains("password")){ System.out.println(line); } } br.close(); fr.close(); }
以爲對您有幫助的話,幫我點贊、分享!您的支持是我不竭的創做動力! 。另外,筆者最近一段時間輸出了以下的精品內容,期待您的關注。測試