GAE: Как я могу прочитать ответ URL построчно? - PullRequest
2 голосов
/ 15 ноября 2010

В Google App Engine я попытался прочитать файл .txt с URL-адреса. Поскольку максимально допустимый размер составляет 1 МБ, а файл немного больше, я использую альтернативный метод, описанный здесь .

Итак, что я пытаюсь сделать, это:

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

но я борюсь с дальнейшей обработкой этого.

Или я могу сделать что-то совершенно другое, чтобы достичь того же?

Я пытаюсь читать это построчно, потому что мне не нужны все строки. Обработка была бы намного проще, чем сложить все в одну большую строку.

1 Ответ

2 голосов
/ 15 ноября 2010

Вы можете попробовать:

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

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

В качестве альтернативы, вы можете использовать IOUtils и позвонить IOUtils.lineIterator(reader) (где читатель InputStreamReader)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...