IO流
文件流
流:数据在数据源(文件)和程序(内存)之间经历的路径
输入流:数据从数据源(文件)到程序(内存)的路径
输出流:数据从程序(内存)到数据源(文件)的路径
常用文件操作
创建文件:
new File(String pathname)
new File(File parent, String filename)
new File(String parent, String filename)
获取文件:
File file=new File("path")
file.getName()
file.getAbsolutePath()
file.getParent()
file.length()
file.exists()
file.isFile()
file.isDirectory()
file.delete()
目录操作:
mkdir()
nkdirs()
流的分类
- 按操作数据单位分:字节流(8bit)二进制文件,字符流(按字符)文本文件
- 按数据流的流向分:输入流,输出流
- 按流的角色分:节点流,处理流(包装流)
IO流常用类
- FileInputStream 文件输入流
- FileOutputStream 文件输出流
- FileReader 文件读取
- FileWriter 文件写入
- BufferedReader 字符输入流
- BufferedWriter 字符输出流
- BufferedInputStream 缓冲字节输入流
- BufferedOutputStream 缓冲字节输出流
- ObjectInputStream 对象字节输入流(提供了反序列化功能)
- ObjectOutputStream 对象字节输出流 (提供了序列化功能)
- System.in 标准输入流(键盘)
- System.out 标准输出流(显示器)
- InputStreamReader 转换流 将InputStream(字节流)转换成Reader(字符流)
- OutputStreamWriter 转换流 将OutputStream(字节流)转换成Writer(字符流)
- PrintStream 字节打印流(只有输出没有输入流)
- PrintWriter 字符打印流(只有输出没有输入流)
节点流和处理流
节点流:可以从一个特定数据源读写数据,如FileReader、FileWriter
处理流:也叫包装流,是连接在已存在的流(节点流或处理流)之上,为程序提供更强大的读写功能,如BufferedReader、BufferedWriter