一、字节流与字符流

  • 输入流:用于读取数据 – 将数据写入内存进行展示,即将数据从其他设备读取到内存中的流。
  • 输出流:用于数据保存 – 将数据写入磁盘,可持久化存储,即将数据从内存中写出到其他设备上的流。

在字节流(以字节为单位)中,输出数据使用OutStream类完成,输入使用的是InputStream类完成。(所有字节流的父类)

在字符流(以字符为单位)中,输出数据使用Writer类完成,输入使用Reader完成。(所有字符流的父类)

其中,字节流主要操作byte类型数据,以byte数组为准。

如果想对文件进行读写,首先需要创建一个文件对象,如下:

1
2
3
4
5
6
7
public class FileDemo01 {
public static void main(String[] args) {
String pathname = "a.txt";
File file = new File(pathname);
System.out.println(file); // a.txt
}
}

从上面代码段可以看出,File接收的参数是文件路径,返回的是File对象。但是,直接打印File时,返回的是pathname,即为传入的参数。所以,在File类中,重写了toString方法。后面当我们拿到File对象后,就可以进行后续对当前文件的一系列操作了。