IO:
两个单词组成 InputStream(输入) OutputStream(输出)
输入与输出相对于都都内存
使用流的时候的注意事项:
1.所有导入 java.io下的jar包
2. 需要注意异常
3. 释放资源,关闭资源
输出流: 把内存的数据写入到硬盘里
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) 将字节写入到输出流里
子类: ByteArrayOutputStream 字节输出流
FileOutputStream 文件输出流(重点)
FilterOutputStream 过滤器输出流
ObjectOutputStream 对象输出流
PipedOutputStream 管道输出流
FileOutputStream:一般用于向文件写入数据(常用)
构造方法:
public FileOutputStream(File file)
public FileOutputStream(String name)
1.实例化 FileOutputStream
2.如果这个文件不存在,会默认去常见这这个文件
3.把FileOutputStream 执行需要写入数据的位置(文件)
向文件写入数据的一个原理: java–>jvm —>OS(操作系统)–>调用操作系统的写入方法
写数据的方法: public void write(int b)
写数据的一个基本的步骤:
1.实例化 FileOutputStream
2.调用其写的方法
3.关闭资源
输入流 InputStream(也是一个抽象类) ==> 从硬盘把数据读取到内存
子类: FileInputStream 文件输入流 对象
给子类提供了很多公有的方法:
public int available() 返回的是当前输入流里的字节数
public void close() 关闭资源的方法
public abstract int read() 一个一个字节读取
public int read(byte[] b) 把数据读取到字节数组里
public int read(byte[] b,int off,int len) 可以读取指定区间的数据
子类: FileInputStream
构造方法:
public FileInputStream(File file)
public FileInputStream(String name)
构造: 做了两件事
1.创建 FileInputStream
2. 把FileInputStream 对象执行你要读取的文件的位置
读取的原理: java—>jvm ==>0S(操作系统)—>调用操作系统的读取的方法()
输入流的一个大致步骤
1.创建一个FileInputStream()
2.调用 read()方法来进行读取
3. 关闭资源