Java初学之IO(一)
IO流的概述
- IO:用于处理设备上数据的技术
- 流:系统资源,window系统本身就可以操作设备,各种语言只是使用系统平台上的这个资源。 并对 外提供了各种语言自己的操作功能,这些功能最终调用的都是系统资源。
- Java上所涉及的所有该能对象都在java.io里。
- 设备上数据最常见的表现形式为File。
File-获取方法的方式
- 获取名称
- String getName();
- 获取大小
- int length();
- 获取文件对象的绝对路径
- String getAbsolutePath();
- 获取文件对象的封装路径
- String getPath();
- 获取文件的最后一次修改时间
- long lastModified();
- 文件是否隐藏
- boolean isHidden();
- 创建新文件
- creatNewFile();
- 删除文件
- delete();
- 判断是否存在
- boolean exists();
- 获取剩余空间
- getFreeSpace();
- 获取文件夹下的所有文件
- 只获取文件名称
- list();
- 获取文件对象
- listFiles();
- 只获取文件名称
总结
- 可是操作文件的字节流
- InputStream
- FileInputStream
- OutputStream
- FileOutputStream
- InputStream
- 为了提高效率,引进了缓冲区
- InputStream
- FileInputStream
- FilterInputStream
- BufferedInputStream
- OutputStream
- FileOutputStream
- FilterOutputStream
- BufferedOutputStream
- InputStream
- 对于文本文件,想要操作文件中的中文数据时字节流只能操作字节,需要我们字节转码成字符,所以可以使用转换流
- Reader
- InputStreamReader:字节—->字符
- Writer
- OutputStreamWriter:字符—->字节
- 它们的出现解决了中文的编码转换问题
- Reader
- 为了便捷地操作字符文件,找到了转换流的子类,但是它有局限,只能操作文件,而且是默认编码,如果不操作文件,而且编码不是默认的,需要使用转换流
- Reader
- InputStreamReader
- FileReader
- InputStreamReader
- Writer
- InputStreamWriter
- FileWriter
- InputStreamWriter
- Reader
- 为了提高字符流的操作效率,引入了字符串缓冲区
- Reader
- InputStreamReader
- FileReader
- BufferedReader
- InputStreamReader
- Reader
- 缓冲区原理
- 临时存储数据的方法,减少频繁地对设备进行操作,提高了效率,其实就是将数据临时存储到内存(数组)中