Класс InputStreamReader в Java

Класс InputStreamReader считывает символы из байтового входного потока. Он считывает байты и декодирует их на символы с использованием указанной кодировки. Уровень декодирования преобразует байты в символы в соответствии со стандартом кодирования. Есть много доступных кодировок на выбор.

Класс InputStreamReader выполняет две задачи:

  1. Прочитать входной поток клавиатуры.
  2. Преобразовать потоки байтов в потоки символов.

Следующая программа Java получает InputStreamReader с клавиатуры

 
import Java.util.*;
import Java.io.*;
public class TestClass{
  public static void main( String[] args ){
    try {
      InputStreamReader isReader = new InputStreamReader(System.in);
      BufferedReader bReader=new BufferedReader(isReader);
      System.out.println("Enter anything......");
      String data=bReader.readLine();
      System.out.println("You Entered.... "+data);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

Следующая программа Java получает InputStreamReader из файла

 
import Java.util.*;
import Java.io.*;
public class TestClass{
  public static void main( String[] args ){
    try {
      InputStream is = new FileInputStream("d:\\test.txt");
      Reader isr = new InputStreamReader(is);
      int data = isr.read();
      while(data != -1){
        data = isr.read();
        char chr = (char) data;
        System.out.print(chr);
      }
      isr.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
  }
}

Как преобразовать String в InputStream в Java?

ByteArrayInputStream делает трюк от Java 1.4

 
InputStream is = new ByteArrayInputStream(inputString.getBytes(StandardCharsets.UTF_8));

Начиная с Java 1.7, StandardCharsets определяет константы для Charset, включая UTF-8. Вы должны включить импорт Java.nio.charset.StandardCharsets; в вашем файле Java. Обратите внимание, что это предполагает, что вы хотите, чтобы InputStream представлял собой поток байтов, представляющий исходную строку, кодированную как UTF-8.

Следующая программа Java читает строку как InputStream.

 
import Java.util.*;
import Java.io.*;
import Java.nio.charset.StandardCharsets;
public class TestClass{
  public static void main( String[] args ){
    try {
      String inputString = "This is a test !! ";
      InputStream is = new ByteArrayInputStream(inputString.getBytes(StandardCharsets.UTF_8));
      Reader isr = new InputStreamReader(is);
      int data = isr.read();
      while(data != -1){
        data = isr.read();
        char chr = (char) data;
        System.out.print(chr);
      }
      isr.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

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

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