scala InputStreamReader Не читает все данные (файл)

1

Я пытаюсь поразить сервер таллинга с помощью сеанса ожидания scala и сохранить вывод в файле

когда я скручиваюсь, я получаю строку вывода 412К, но когда я нахожусь через scala, я получаю только строки 411K (около 500 строк не хватает)

это из-за проблемы с размером буфера

следующий мой код

    httpConn.setRequestProperty("Content-Length", String.valueOf(b.length))
    httpConn.setRequestProperty("Content-Type", "text/xml; charset=utf-8")
    httpConn.setRequestMethod("POST")
    httpConn.setDoOutput(true)
    httpConn.setDoInput(true)
    val out = httpConn.getOutputStream
    out.write(b)
    out.close()
    val isr = new InputStreamReader(httpConn.getInputStream)
    val in = new BufferedReader(isr) 
    var temp: String = null
    temp= SaveFile(in)  //pass stream to save into file

и файл сохраняется через

 def SaveFile(a: BufferedReader): String = { 
    val file = new File("OPinWorkspace.xml")
    val bw = new BufferedWriter(new FileWriter(file))


    Iterator 
    .continually (a.read)
    .takeWhile (-1 !=)
    .foreach (bw.write)


return foo
}
Теги:
rest
http

1 ответ

2
Лучший ответ

После этого вам нужно close свои потоки.

close промывает поток в первую очередь.

try { 
    // ...
} finally {
    a.close
    if(bw != null) bw.close     // close and flush
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню