使用Java(1.8)打破RSCRLF而不仅仅是CRLF

问题描述 投票:0回答:1

我目前正在使用文件读取器(文件输入流和缓冲读取器)来读取文件中的行(这是来自应用程序的专有日志文件,它有CRLF作为换行符,但RSCRLF作为记录分隔符。但是当我使用Java时文件读取器,基于默认的CR / LF读取行,并将它们视为不同的行,即使它们是相同的行直到记录分隔符(RS)。我开始逐个读取字符(而不是行)并得到一个字节[]字符数组。但是如何从ASCII表中检查RSCRLF字符并在那时将其分解?

RS -> CHAR, 30 -> DEC, 1E -> HEX
CR -> CHAR, 13 -> DEC, D -> HEX
LF -> CHAR, 10 -> DEC, A -> HEX

有任何想法吗?不是在寻找代码,而是在如何读取字节并找到RSCRLF以便在那时打破?

谢谢

java newline filestream
1个回答
0
投票

你可以使用带有自定义分隔符的Scanner,这里的内容如下:

...
Scanner scanner = new Scanner(readable);
scanner.useDelimiter("\u001E\r\n");
while (scanner.hasNext()) {
    String record = scanner.next();
    ...
}
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.