Jeśli mam obiektjava.io.InputStream
, w jaki sposób należy przetworzyć ten obiekt i wygenerować ciąg?
Załóżmy, że mam InputStream
, który zawiera dane tekstowe, i chcę przekonwertować go na ciąg znaków, aby na przykład zapisać go w pliku dziennika. Jaki jest najprostszy sposób na pobranie InputStream i przekonwertowanie go na String?
public String convertStreamToString(InputStream is) {
}
1 odpowiedź
Dobrym sposobem na to jest użycie Apache commons (link: http://commons.apache.org/) IOUtils
do skopiowania InputStream
do StringWriter
... coś w rodzaju:
StringWriter writer = new StringWriter();
IOUtils.copy(inputStream, writer, encoding);
String theString = writer.toString();
albo:
//Uwaga: nie zamyka inputStream, do tego będziesz musiał użyć try-with-resources
String theString = IOUtils.toString(inputStream, encoding;