Чтение / преобразование InputStream в строку в Java
Строка - это последовательность символов, используемых для хранения данных типа «Halo World!». Поток - это класс ввода / вывода, который используется для чтения и записи байтов данных в виде непрерывной последовательности байтов. В некоторых ситуациях нам нужно преобразовать потоки в строку. Следующие 2 примера показывают, как преобразовать InputStream в String.
Использование класса сканера:
import Java.io.*; import Java.util.*; public class TestClass{ public static void main(String[] args) { try { FileInputStream fis = new FileInputStream("in.txt"); String str = new Scanner(fis,"UTF-8").useDelimiter("\\A").next(); System.out.println(str); } catch (Exception e) { System.err.println(e); } } }
Использование BufferedInputStream и ByteArrayOutputStream
import Java.io.*; import Java.util.*; public class TestClass{ public static void main(String[] args) { try { FileInputStream fis = new FileInputStream("in.txt"); BufferedInputStream bStream = new BufferedInputStream(fis); ByteArrayOutputStream baous = new ByteArrayOutputStream(); int temp = bStream.read(); while(temp != -1) { baous.write((byte) temp); temp = bStream.read(); } String str = baous.toString("UTF-8"); System.out.println(str); }catch (IOException e) { System.err.println(e); } } }