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

1.1 标准输入输出流

public static final InputStream in:标准输入流

public static final PrintStream out:标准输出流

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

publicclassOutputStreamWriterDemo {

publicstaticvoidmain(String[] args)throwsIOException   {

//method2();

//创建输入流对象

BufferedReader br =newBufferedReader(newFileReader("SystemInOutDemo.java"));

//创建输出流对象

//OutputStream os= System.out;

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

//BufferedWriter bw= new BufferedWriter(w);

BufferedWriter bw =newBufferedWriter(newOutputStreamWriter(System.out));

//进行数据的读写

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

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

bw.write(line);

bw.newLine();

}

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

publicclassInputStreamReaderDemo {

publicstaticvoidmain(String[] args)throwsIOException  {

//创建输入流对象

InputStream is = System.in;

Reader r =newInputStreamReader(is);

//创建输出流对象

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

//读写数据

char[] chs =newchar[1024];

intlen;

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()

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

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

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

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

publicclassPrintWriterDemo {

publicstaticvoidmain(String[] args)throwsIOException  {

//创建打印流对象

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

//写出数据

pw.write("hello");

pw.write("world");

pw.write("java");

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

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

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

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值