Java 我如何逐行阅读URL响应?

Java 我如何逐行阅读URL响应?,java,google-app-engine,Java,Google App Engine,在GoogleAppEngine中,我尝试从URL读取.txt文件。因为允许的最大大小是1MB,文件稍微大一点,所以我使用了下面描述的另一种方法 所以,我想做的是: FetchOptions fo = FetchOptions.Builder.allowTruncate().doNotFollowRedirects(); HTTPRequest request = new HTTPRequest(url,HTTPMethod.GET,FetchOptions.Builder.allowTrunc

在GoogleAppEngine中,我尝试从URL读取.txt文件。因为允许的最大大小是1MB,文件稍微大一点,所以我使用了下面描述的另一种方法

所以,我想做的是:

FetchOptions fo = FetchOptions.Builder.allowTruncate().doNotFollowRedirects();
HTTPRequest request = new HTTPRequest(url,HTTPMethod.GET,FetchOptions.Builder.allowTruncate());
URLFetchService service = URLFetchServiceFactory.getURLFetchService();
HTTPResponse response = service.fetch(request);
我现在的问题是,我如何逐行阅读这个回复?我试图处理每一行,这应该是可能的,因为源文件是一个简单的文本文件

我可以用

byte[] content = response.getContent();
但我正在为它的进一步处理而挣扎

或者,我可以做一些完全不同的事情来实现同样的目标吗

我试着一行一行地读,因为我不需要所有的行。处理要比将所有内容放在一个大字符串中容易得多。

您可以尝试:

ByteArrayInputStream bais = new ByteArrayInputStream(content);
BufferedReader reader = new BufferedReader(new InputStreamReader(bais, "utf-8"));

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

或者,您可以使用并调用
IOUtils.lineIterator(reader)
(其中reader是
InputStreamReader

非常好,谢谢。我想一定是BufferedReader=new。。。而不是读者。超类没有方法readLine()。如果这是正确的,你能更新你的答案吗?从那以后,它工作得很好,谢谢@是的,正确。我在修。顺便说一句,根据SO的规则,如果答案对您有效,您将被邀请将其标记为已接受。