1.通过流的方向进行分类
输入流:读取操作
输出流:写入操作
2.通过流的类型进行分类
字节流:一次读取一个字节,或者写入一个字节
字符流:一次读取一个字符,或者写入一个字符(1)一个字符 = 2个字节
(2)文件类型:txt,mp3,mp4,jpg
(3)字节流专门是用来处理非文本文件的
(4)字符流专门用来处理文本文件。字节流的老祖宗
字节输入流——读取内容
Java类——InputStream
字节输出流——写入内容
Java类——OutputStream通过字节流中的某个子类来对象昨天File类的进行一个操作
将内容写入文件内。
将文件内的容器读取到Java程序中
针对文件开辟的2个字节流(输入流 输出)文件字节输入流
Java类: FileInputStream文件字节输出流
Java类: FileOutputStream
通过FileInputStream和FileOutputStream对文件进行读取和写入的基本流程
1.通过File类构建一个文件
2.将file对象传递到流的构造函数中
3.通过流对象调用读取或者写入的方法即可
4.关闭所有流的资源public static void main(String[] args) throws Exception { //通过IO流的方式读取D:\\xpw.txt到控制台上 //1.创建一个File对象绑定一个路径 File file=new File("D:\\xpw.txt"); //2.将file对象传递到输入流的构造函数中即可 含异常 FileInputStream fis=new FileInputStream(file); //3.通过流对象调用读取的方法将内容读取到。-----含子针的概念 int read = fis.read(); System.out.println((char)read); int read1 = fis.read(); System.out.println((char)read1); int read2 = fis.read(); System.out.println((char)read2); //4.关闭所有流的资源 fis.close(); }
public static void b1() throws Exception{ //FileOutputStream输出流会自动创建文件 //1.创建一个File对象绑定一个路径 File file=new File("D:\\sb.txt"); //2.将file对象传递到输出流的构造函数中即可 含异常 FileOutputStream fos=new FileOutputStream(file); //3.提供写入的数据, String s="你是大傻逼"; //写入数据 fos.write(s.getBytes()); //4.关闭资源 fos.close(); }
3.通过流的处理方式进行分类
节点流:效率不高
处理流:效率高
4. 文件流的升级(节点流)----缓冲流(处理流)
文件缓冲流
* 缓冲输入流 BufferedInputStream
* 缓冲输出流 BufferedOutputStream
*
*
* 缓冲流读和写 效果高 仅此而已
*
* 1.File构建
* 2.传入文件流对象
* 3.将文件流对象传入缓冲流即可---为了提高效率而已
* 4.读或写
* 5.关闭
*