JavaDay18学习总结

一、笔记
1.InputStream字节输入流、OutputStream字节输出流
都是抽象类

1、把硬盘的数据读取到内存中,称为输入流;
   把内存的数据写入硬盘中,称为输出流  
2、使用流的时候:  
都是导入java.io下的jar包;  
需要注意异常;  
关闭流,释放资源; 

2、OutputStream的常规方法:

 public void close():关闭与释放资源;  
 public void flush():强制性刷新缓存区;  
 public void write(byte[] b):将字节数组中的数据写入到输出流里;  
 public void write(byte[] b,int off,int len):将字节数组的数据指定区间写入到输出流里;  
 public abstract void write(int b):将单个字节写入到输出流里; 

3、OutputStream的子类为:

ByteArrayOutputStream字节输出流;
FileOutputStream文件输出流(重点);
FilterOutputStream过滤器输出流;
ObjectOutputStream对象输出流;
PipedOutputStream管道输出流  

4、FileOutputStream:一般用于向文件写入数据
构造方法:

public FileOutputStream(File file);public FileOutputStream(String name);public FileOutputStream(String name,boolean append)append默认是false,表示覆盖  
1. 实例化FileOutputStream的一个对象  
2. 如果这个文件不存在,会默认创建这个文件  
3. 把FileOutputStream指向需要写入数据的位置(文件)  

写入数据的原理:

java-->jvm-->OS(操作系统)-->调用系统的写入方法  

写入数据的基本步骤:

实例化对象==》调用其写入方法==》关闭资源  

5、BufferedOutputStream是FilterOutputStream的直接子类,内部封装了一个字节数组(自带缓冲区)

构造方法:
public BufferedOutputStream(OutputStream out)  
主要方法:  
public void flush():刷新此缓冲的输出流(也就是把缓冲区的数据写入到文件里)  
void write(byte[] b, int off, int len):将指定byte数组中从偏移量off开始的len个字节写入此缓冲的输出流;  
void write(int b):要写入的字节的长度; 

6、InputStream的常规方法:

 public int available():返回的是当前输入流里的字节数;  
 public void close():关闭资源的方法;  
 public abstract int read():一个一个字节读取(返回值是读取的具体数据《内容为0-127,对应ASCAII码表,如果是其他,对应系统的编码格式返回int类型》返回-1,表示读取完毕),每调用一次,指针往后移一个单位;  
 public int read(byte[] b):把数组读取到字节数组里(数组就是缓冲区,一般数组长度为1024的倍数),返回值是读取的有效字符长度;  
 public int read(byte[] b,int off,int len):可以读取指定区间的数据,off起始位置,len长度;  

7、InputStream的子类为:

ByteArrayInputStream字节输入流;
FileInputStream文件输入流;
FilterInputStream过滤器输入流;
ObjectInputStream对象输入流;
PipedInputStream管道输入流;
SequenceInputStream合并(流)输入流  

8、FileInputStream:一般用于从文件中读取数据

构造方法:
public FileInputStream(File file);
public FileInputStream(String name)  

步骤:
创建FileInputStream的对象  
把FileInputStream对象指向需要读取的文件的位置  

读取数据的原理:

java-->jvm-->OS(操作系统)-->调用系统的读取方法 

(2)读取数据的基本步骤:

实例化对象==》调用其读取方法==》关闭资源 

9、BufferedInputStream
是FilterInputStream的直接子类,内部封装了一个字节数组(自带缓冲区)

构造方法:
public BufferedInputStream(InputStream in)  
读取方法:
public int read();
public int read(byte[] b,int off,int len);

二、总结
第十八天的学习,今天学习了IO流,虽然就学习两个流,但作业做起来就十分费劲,看来知识点不够扎实,要回去多复习前面的知识了。加油干!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值