文件流
原始文件流 : 用于打开链接,操作数据
1 FileInputStream 字节输入
2 FileOutputStream 字节输出
3 FileReader 字符输入
4 FileWriter 字符输出
对于纯文本文件来说,用字符流进行输入输出;一个字符等于两个字节
对于图片等文件来说,用字节流进行输入输出。
字节输入
FileInputStream:
就是从硬盘输入到内存中。那么就涉及到了两个概念
绝对路径和相对路径
绝对路径就是从系统根目录出发
而相对路径就是从当前目录出发
常用方法
read();
读取下一个字节的数据。如果到达文件末尾 返回 -1。
FileReader字符输入
对于纯文本文件来说,用字符流进行输入输出;一个字符等于两个字节
read一样有方法重载,
read() : 读取一个字符,返回下一个的字符数据,到达文件末尾返回-1
read(char[] c) : 读取一个字符数组,返回读取到的字符数,到达文件末尾返回-1
FileOutputStream字节输出
值得注意的是:
输入流 找不到指定文件 会报错 , 但是输出流不会报错,会自动创建该文件,但是不会创建文件夹(目录)
常用方法
构造方法 :
FileOutputStream(String) : 把内容输出到指定文件中,并会覆盖原文件中内容
FileOutputStream(String,boolean) : 如果第二个参数是true,把内容输出到指定文件中,并在原文件中追加数据
成员方法 :
write(int i) : 写出整型
write(byte[] b) : 写出字节数组,想要输出字符串可以利用字符串中的getBytes()方法,把字符串转换为字节数组
flush() : 刷缓存,强制把缓冲区写出,避免造成数据遗漏
字符输出FileWriter
和字节输出流基本一致,新增字符串写出
常用方法
在这四种方式中,字节输入流和字符输入流运用的是read()无参方法。而不同的是有参的read方法,字符输入流(char[] a); 而字节输入流的是(byte[] b);
字节输出流和字符输出流运用的无参方法都是write(),而不同的有参write方法。