java8 Stream流逐行處理文本文件
本文中為大家介紹使用java8 Stream API逐行讀取文件,以及根據(jù)某些條件過(guò)濾文件內(nèi)容
1. Java 8逐行讀取文件
在此示例中,我將按行讀取文件內(nèi)容并在控制臺(tái)打印輸出。
Path filePath = Paths.get('c:/temp', 'data.txt'); //try-with-resources語(yǔ)法,不用手動(dòng)的編碼關(guān)閉流try (Stream<String> lines = Files.lines( filePath )) { lines.forEach(System.out::println);} catch (IOException e) { e.printStackTrace();//只是測(cè)試用例,生產(chǎn)環(huán)境下不要這樣做異常處理}
上面的程序輸出將在控制臺(tái)中逐行打印文件的內(nèi)容。
Neverstorepasswordexceptin mind.
2.Java 8讀取文件?過(guò)濾行
在此示例中,我們將文件內(nèi)容讀取為Stream。然后,我們將過(guò)濾其中包含單詞'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();//只是測(cè)試用例,生產(chǎn)環(huán)境下不要這樣做異常處理}
程序輸出。
password
我們將讀取給定文件的內(nèi)容,并檢查是否有任何一行包含'password'然后將其打印出來(lái)。
3.Java 7 ?使用FileReader讀取文件
Java 7之前的版本,我們可以使用FileReader方式進(jìn)行逐行讀取文件。
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();}
以上就是java8 Stream流逐行處理文本文件的詳細(xì)內(nèi)容,更多關(guān)于java8 Stream流處理文件的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)2. XHTML 1.0:標(biāo)記新的開(kāi)端3. HTML5 Canvas繪制圖形從入門到精通4. XML解析錯(cuò)誤:未組織好 的解決辦法5. ASP基礎(chǔ)知識(shí)VBScript基本元素講解6. asp(vbscript)中自定義函數(shù)的默認(rèn)參數(shù)實(shí)現(xiàn)代碼7. 詳解CSS偽元素的妙用單標(biāo)簽之美8. 利用CSS3新特性創(chuàng)建透明邊框三角9. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁(yè)的方法10. XML入門的常見(jiàn)問(wèn)題(四)
