IO流原理及流的分类
Java IO流原理
1.I/O是Input/Output缩写,I/O技术是非常实用的技术,用于处理数据传输,如读/写文件,网络通讯等
2.Java程序中,对于数据的输入/输出操作以”流(stream)“的方式进行
3.java.io包下提供了各种”流“类和接口,用以获取不同种类的数据,并通过方法输入或输出数据
四个都是抽象类:字节输入流InputStream、字节输出流OutputStream、字符输入流Reader、字符输出流Writer
特别注意:字节流(8 bit)处理二进制文件(英文+数字),字符流(按字符)处理文本文件汉字
IO流体系图-常用的类
InputStream:字节输入流
InputStream:抽象类是所有类字节输入流的超类
InputStream:常用的子类
1.FileInputStream:文件输入流
2.BufferedInputStream:缓冲字节输入流
3.ObjectInputStream:对象字节输入流
文件流普通的一些调用方法
mkdir = 创建一级目录
mkdirs = 创建多级目录
getName = 获取文件名字
getAbsolutePath = 获取文件绝对路径
getParent = 获取父级路径
length = 文件大小(字节),1个英文是1个字节,1个中文是3个字节
isFile = 查询是不是一个文件,返回boolean
isDirectory = 查询是不是一个目录,返回boolean
节点流和处理流
基本介绍
1.节点流可以从一个特定的数据源读写数据,如FileReader、FileWriter[源码]
2.处理流(也叫包装流)是“连接”在已存在的流(节点流或处理流)之上,为程序提供更为强大的读写功能,如BufferedReader、BufferedWriter[源码]