Классы StringWriter и StringReader находятся в пакете java.io. Эти потоки нужны для работы со строкой. Поток StringWriter служит для создания строки. У него несколько методов позволяющих записывать в поток строку, символ или массив символов. Внутри потока строка хранится как объект StringBuffer на которые и отображаются методы потока StringWriter. Класс StringReader получает строку при создании потока и позволяет осуществлять посимвольное чтение из потока.
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */
package javainputoutput;
/** * * @author martyshov */
import java.io.*; import java.nio.*;
public class JavaInputOutput {
/** * @param args the command line arguments */ public static void main(String[] args) { try( StringWriter sw = new StringWriter(); StringReader sr = new StringReader("Раз два три четыре пять вышел зайчик погулять"); ){ sw.append('H'); sw.append('e'); sw.append('l'); sw.append('l'); sw.append('o'); sw.write(" programmer "); char[] charr_arr = {'и', 'з', 'м', 'а', 'с', 'с', 'и', 'в', 'а'}; sw.write(charr_arr); sw.write("Какая то строка", 0, 14); System.out.println(sw.toString()); sr.skip(4); char[] char_arr = new char[7]; sr.read(char_arr); System.out.println(char_arr); Integer i; while ((i = sr.read()) != -1){ System.err.println((char)i.shortValue()); } } catch(IOException e){ System.err.println(e.getLocalizedMessage()); } } }
|