2017-05-06 99 views
0

BufferedReaderreadline()讀取由'\ n'定義的行,是否可以讀取由其他分隔符定義的行,例如: ^B? 感謝Java BufferedReader通過自定義分隔符讀取行

+1

不僅僅是'\ n':「一行被認爲由換行符('\ n'),回車符('\ r')或回車符後面的一個回車符換行「。 –

+0

不,你不能直接使用'BufferedReader'來做到這一點,但是你可以只讀字節並掃描你自己的自定義分隔符。 –

+0

那麼如何編寫類似於BufferedReader的類,並覆蓋readline()方法呢? – randomp

回答

2

你不能用BufferedReader做到這一點,但是,你可以使用Scanner並調用useDelimiter()方法,例如:

Scanner scanner = new Scanner(new FileInputStream("<file>")); 
scanner.useDelimiter("\b"); 

Here's的Javadoc。

+0

如果它是一個大文件呢?它會造成內存問題嗎? – randomp

+0

如果一次只處理一行而不將所有內容都存儲到內存中,那應該沒問題。 –

相關問題