Tengo una función útil que he usado en Java para convertir un InputStream en un String. Aquí hay una traducción directa a Scala:
def inputStreamToString(is: InputStream) = {
val rd: BufferedReader = new BufferedReader(new InputStreamReader(is, "UTF-8"))
val builder = new StringBuilder()
try {
var line = rd.readLine
while (line != null) {
builder.append(line + "\n")
line = rd.readLine
}
} finally {
rd.close
}
builder.toString
}
¿Hay alguna forma idiomática de hacer esto en scala?
string
scala
inputstream
bballante
fuente
fuente
Source.fromInputStream(is).mkString("")
también hará la escritura .....fuente
Iterator[Char]
.Source.fromInputStream(is)(Codec.UTF8).mkString
fromInputStream()
parece cerrar la transmisión, al menos en Scala 2.11.Manera más rápida de hacer esto:
fuente
Reader
y no unInputStream
.inputStreamReader
al método.Runtime.exec()
. Esto lo clava.