开发者

GAE: How do I read URL response line by line?

In Google App Engine, I tried reading a .txt file from a URL. Because the maximum al开发者_如何学JAVAlowed size is 1MB and the file is slightly larger, I'm using an alternative method described here.

So, what I'm trying to do is this:

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);

My question is now, how can I read this response line by line? I'm trying to process each line which should be possible somehow as the source file is a simple text file.

I can get a byte[] with

byte[] content = response.getContent();

but I'm struggling with the further processing of it.

Or, can I do something completely different to achieve the same thing ?

I'm trying to read it line by line because I don't need all the lines. Processing would be much easier than to put everything in one large string.


You can try:

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

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

Alternatively, you can use IOUtils and call IOUtils.lineIterator(reader) (where reader is the InputStreamReader)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜