标准输入输出流OutputStreamWriter:将字节输出流转换为字符输出流InputStreamReader:将字节输入流转换为字符输入流打印流添加输出数据的功能ObjectInputStrea

1.1 标准输入输出流

public static final InputStream in:标准输入流

public static final PrintStream out:标准输出流

OutputStreamWriter:将字节输出流转换为字符输出流

public class OutputStreamWriterDemo {

public static void main(String[] args) throws IOException   {

//method2();

 

//创建输入流对象

BufferedReader br = new BufferedReader(new FileReader("SystemInOutDemo.java"));

//创建输出流对象

//OutputStream os = System.out;

//Writer w = new OutputStreamWriter(System.out);//多态,父类型引用指向子类对象

//BufferedWriter bw = new BufferedWriter(w);

 

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

 

 

//进行数据的读写

String line;//用于存储读取到的数据

while((line = br.readLine()) != null) {

bw.write(line);

bw.newLine();

}

 

InputStreamReader:将字节输入流转换为字符输入流

public class InputStreamReaderDemo {

public static void main(String[] args) throws IOException  {

//创建输入流对象

InputStream is = System.in;

Reader r = new InputStreamReader(is);

//创建输出流对象

FileWriter fw = new FileWriter("a.txt");

 

//读写数据

char[] chs = new char[1024];

int len;

while((len = r.read(chs)) != -1) {

fw.write(chs,0,len);

fw.flush();

}

1.2 打印

打印流添加输出数据的功能,使它们能够方便地打印各种数据值表示形式.

字符打印流 PrintWriter

void print(String str): 输出任意类型的数据,

void println(String str): 输出任意类型的数据,自动写入换行操作

* PrintStream

* PrintWriter

* 可以自动换行,println()

* 不能输出字节,但是可以输出其他任意类型

* 通过某些配置,可以实现自动刷新(只有在调用 printlnprintf  format才有用)* 也是包装流,不具备写出功能

* 可以把字节输出流转换成字符输出流*

* 注意:只能输出不能输入

public class PrintWriterDemo {

public static void main(String[] args) throws IOException  {

//创建打印流对象

PrintWriter pw = new PrintWriter("b.txt");

 

//写出数据

pw.write("hello");

pw.write("world");

pw.write("java");

 

1.3 ObjectInputStream 称为 反序列化流,利用输入流从文件中读取对象

ObjectOutputStream 称为 序列化,利用输出流向文件中写入对象

特点:用于操作对象。可以将对象写入到文件中,也可以从文件中读取对象。

}

你可能感兴趣的:(字符流,io流,java,helloworld,eclipse)