Чтение / преобразование 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);
}
}
}
