Jak odczytać / przekonwertować InputStream na String w Javie?

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;

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.