Я пытаюсь поразить сервер таллинга с помощью сеанса ожидания 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
}
После этого вам нужно close
свои потоки.
close
промывает поток в первую очередь.
try {
// ...
} finally {
a.close
if(bw != null) bw.close // close and flush
}