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

Источник: http://net-informations.com/Java/cJava/inputstream.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector