Записать данные в файл из BufferedReader? - PullRequest
3 голосов
/ 20 октября 2011

На Яве ...

У меня есть данные, хранящиеся в BufferedReader. (Я получил его в ответ на запрос HTTP-сообщения.)

Как мне записать эти (двоичные) данные в файл?

Я знаю, как записывать строки в файлы, но как мне взять данные в BufferedReader и поместить их в файл.

Заранее спасибо!

Ответы [ 2 ]

6 голосов
/ 20 октября 2011

Не используйте Reader для получения байтов. Считыватель используется для чтения символьных данных, а не двоичных данных. Используйте InputStream напрямую.

void write(InputStream is, OutputStream os) throws IOException {
    byte[] buf = new byte[512]; // optimize the size of buffer to your need
    int num;
    while ((num = is.read(buf)) != -1) {
      os.write(buf, 0, num);
    }
}
1 голос
/ 20 октября 2011

Начните с Basic I / O , затем выполните i, затем o или, если вы хотите сохранить память i / o, i / oi / o (промойте и повторяйте до тех пор, пока не будет больше i).

...