[英]Java Scanner specify line separator
我使用 Java 中的Scanner
類進行 IO 操作。 我想讀取文件中以“\\n\\r|[\\r\\n]”結尾的每一行,不包括其他也可能代表行分隔符的分隔符,例如“[ \
\\2029\\0085]” . 如果我使用Scanner.nextLine()
,除非我更改Scanner
的源代碼,否則將包含這些 unicode 分隔符。 如果我使用Scanner.next("some pattern")
,空行將被忽略,這不是我所期望的。 有沒有合適的方法來做到這一點? 謝謝。
Scanner 不提供覆蓋它用於行尾的模式的方法。
但是,您可以像這樣實現類似的功能:
String line = scanner.next("[\R
\u2028\u2029\u0085]");
並使用scanner.hasNext("[\\R\
\
\
]")
而不是scanner.hasNext("[\\R\
\
\
]")
scanner.hasNextLine()
。
注意: \\R
是在第 8 版中引入的,表示任何形式的“行尾”字符序列(即適用於 windows、*nix 和 mac 的\\r\\n
、 \\n
或\\r
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.