I/O流-Java基础学习总结

7月23日I/O流学习

概述: I/O流是用来处理设备之间的数据传输

类型:

  1. 数据流向分为:输入流(读数据) 输出流(写数据)
  2. 按照数据类型分为:字节流(读写任意文件)字符流(读写文本文件)
字节流

继承体系:输入流:InPutStream 输出流:OutPutStream

输出流相关方法
构造方法:
FileOutputStream(File file)
FileOutputStream(String name)
注意:若关联的文件不存在时,会自动创建
FileOutputStream的三个write()方法   
Write(Byte a);一次写入一个字节,若超过一个字节,丢掉多余字节
Write(Byte[] a);一次写入一个字节数组
Write(Byte[] a,int i,int b);一次写入一个字节数组一部分,从i开始,写b个字节
输入流相关方法
构造方法:
FileInputStream(File file)
FileInputStream(String name)
注意:关联的文件必须存在,否则程序报错
FileInputStream的三个write()方法   
read(Byte a);读取一个字节
read(Byte[] a);读取一个字节数组
read(Byte[] a,int i,int b);读取一个字节数组一部分,从i开始,读取b个字节
close()作用:1. 释放相关管理资源  2.使I/O流对象成为垃圾,使其等待被回收
高效的字节输入输出流:BufferedInputStream, BufferedOutputStream
输入流构造方法:
BufferedInputStream(InputStream in)  
BufferedInputStream(InputStream in, int size) //创建一个具有指定的缓冲区大小 BufferedInputStream 
输出流构造方法:
BufferedOutputStream(OutputStream out) 
BufferedOutputStream(OutputStream out, int size) //创建一个新的缓冲输出流,用指定的缓冲区大小写数据到指定的基本输出流中。 
注:高效:底层中增加了缓冲区; 用法与FileOutputStream,FileInputStream用法相似
便当1:
当参数是抽象类:传入该类的子类对象
当参数是接口:传入该接口的子类对象
当参数是类:传入该类的一个对象
便当2:
字符串转字节数组:String str;  str.getBytes();
字节数组变字符串:
<1>String s =new String(a,i,len);//从第i位开始,转换len位字节,a字节数组名;//转换指定长度的字节
<2>String.valueof(a);
字符流:字节流+编码表

继承体系:输入流:reader 输出流:writer
编码:将字符串换成字节数组(看懂的变为看不懂的)采用默认码表进行编码
解码:将字节数组变为字符串(看不懂的变为能看懂的)采用默认码表进行解码
也可以指定码表进行边编解码: str.getBytes(“码表名”) new String(字节数组名,“码表”);

输出流构造方法: 
OutputStreamWriter(OutputStream out)   
OutputStreamWriter(OutputStream out, CharsetEncoder enc)//创建一个outputstreamwriter使用给定的字符集编码。  
输入流构造方法: 
InputStreamReader(InputStream in)     
InputStreamReader(InputStream in, CharsetDecoder dec) //创建一个inputstreamreader使用给定的字符集解码。   
输入流相关方法:
read() //读取单个字符。  
int read(char[] cbuf, int offset, int length) //将字符读入一个数组的一部分。
输出流相关方法:
void write(char[] cbuf, int off, int len) //写入一个字符数组的一部分。  
void write(int c) //写一个字符。  
void write(String str, int off, int len) //写入字符串的一部分。 
void flush() //冲流。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值