1.什么是IO流
IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。
2.学习IO流的目的
1.将数据写入文件中,实现数据永久化存储
2.读取已存在文件中的数据
3.比较重要的几个流
文件专属:FileInputStream,FileOutStream,FileReader和FileWriter.
转换流(字节流转换为字符流):InputStreamReader,OutputStreamReader.
缓冲流:ButferedReader,ButferedWriter,ButferedInputStream,ButferedOutputStream.
对象流:ObjectInputStream,ObjectOutput.
数据流:DateInputStream,DateOutputStream.
标准输入输出流:PrintWriter,PrintReader.
4.IO流中的核心步骤
IO流拷贝文件核心6步;
1.创建字符输入流对象,关联数据源文件
2.创建字符输出流对象,关联目的文件
3.定义变量,记录读取到的内容
4.循环读取,只要条件满足就一读,并将读读取到的内容赋值给变量
5.将读取到的数据写入到 目的地文件中
6.释放资源
5.IO流的实现
package com.bjpowernode.java.io;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class FileInputStreamTest01 {
public static void main(String[] args) {
FileInputStream fis =null;
// 创建一个FileInputStream对象
try {
fis =new FileInputStream("D:\\IdeaProjects\\hello\\hello.txt");
// 读流
try {
int file =fis.read();
System.out.println(file);
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
// 在finally语句块当中确保流一定关闭
// 关闭流的前提是:流不是空,流是null的时候没必要关闭
if (fis!=null){ // 避免空指针异常
try {
fis.close();
System.out.println("流关闭成功");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}