gpt4 book ai didi

Java - 如何在运行 readLine 命令之前检查 BufferedReader 是否包含换行符

转载 作者:行者123 更新时间:2023-11-30 08:10:52 33 4
gpt4 key购买 nike

我正在尝试从网站解析 HTML 以获得非常具体的数据。以下方法读取源并将其输出为字符串以供其他方法处理。

    StringBuilder source = new StringBuilder();
URL url = new URL(urlIn);
URLConnection spoof;
spoof = url.openConnection();
spoof.setRequestProperty( "User-Agent", "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; H010818)" );

BufferedReader in = new BufferedReader(new InputStreamReader(spoof.getInputStream()));
String strLine = "";

while ((strLine = in.readLine()) != null){
source.append(strLine);
}

return source.toString();

我遇到的问题是,由于我每次使用不同的 urlIn 参数多次调用此方法,有时该方法会卡在 readLine 命令处。我读到这是因为 readLine 寻找换行符,如果 BufferedReader 对象由于某种原因不包含换行符,它将无限期地卡住。

在我运行 readLine 命令之前,有没有办法检查我的 BufferedReader 对象是否包含换行符。我尝试使用 if (in.toString().contains("\n")) 但它总是返回 false。或者,我是否可以每次都在我的 Buffered Reader“in”对象的末尾添加一个“\n”,这样 while 循环就会中断而不是无限期地挂起?

如有任何帮助,我们将不胜感激。

最佳答案

好的,这应该就是你要找的。

fis = new FileInputStream("C:/sample.txt");
reader = new BufferedReader(new InputStreamReader(fis));

System.out.println("Reading File line by line using BufferedReader");

String line = reader.readLine();
while(line != null){
System.out.println(line);
line = reader.readLine();
}

阅读更多:http://javarevisited.blogspot.com/2012/07/read-file-line-by-line-java-example-scanner.html#ixzz3g4RHvy6V

编辑,在你的情况下,因为你似乎在做 webapp 测试,我相信 WebDriverWait 可能会满足你的需要。

关于Java - 如何在运行 readLine 命令之前检查 BufferedReader 是否包含换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31458764/

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