gpt4 book ai didi

java - 在字符串中查找 CRLF

转载 作者:行者123 更新时间:2023-12-01 18:54:07 26 4
gpt4 key购买 nike

我有一个文件,我想读取每一行的字符串。如果该行不以 CRLF (\r\n) 结尾,我想打印一些内容。我通过重定向打印命令的输出来创建此文件,如下所示。

System.out.println("Test\r\n");

但是当我使用缓冲读取器从文件中读取这一行时,它似乎没有捕获 CRLF。

我使用以下命令来检测 crlf(其中 inputline 是已读入的行)。

if(inputline.indexOf("\r\n")<0)

它永远不会检测到\r\n。我该如何补救?这是缓冲阅读器的问题吗?

最佳答案

readLine

public String readLine() throws IOException

Read a line of text. A line is considered to be terminated by any one of a line feed ('\n'), a carriage return ('\r'), or a carriage return followed immediately by a linefeed.

Returns:

A String containing the contents of the line, not including any line-termination characters, or null if the end of the stream has been reached

来自 http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html

因此,您可能需要编写一些自己的代码(或者借鉴 http://www.coderanch.com/t/276442//java/Reading-file-byte-array 的代码)

private byte[] toByteArray(File file) throws FileNotFoundException, IOException{  
int length = (int) file.length();
byte[] array = new byte[length];
InputStream in = new FileInputStream(file);
int offset = 0;
while (offset < length) {
offset += in.read(array, offset, (length - offset));
}
in.close();
return array;
}

这将为您提供所有字节 - 不会被剥离。努力寻找\r\n...

关于java - 在字符串中查找 CRLF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14743541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com