夜色难免黑凉,前行必有曙光
—— 24.6.4
output:输出 Input:输入 write:写数据 read:读数据
将一个设备上的数据传输到另外一个设备上,称之为IO流技术
之前学了一个集合以及数组,可以保存数据,但是这两个都是临时存储(代码运行完毕,集合和数组会从内存中消失,从而数据就不存在了),所以集合和数组达不到永久保存的目的,我们希望咱们的数据永久保存起来,所以我们就可以将数据保存到硬盘上,此时我们就可以随时想拿到硬盘上的数据就随时拿
而且我们将来传输数据,必然要用到输入,输出动作
内存 —> 硬盘 输出流:从内存出发,将数据写到硬盘上
硬盘 —> 内存 输入流:将数据从硬盘上读到内存中
要是从电脑间进行数据传输,就是相对的,发数据的一方就是输出流,收数据的乙方就是输入流
万能流、一切皆字节
分为:字节输出流和字节输入流
字节输出流:OutputStream 抽象类
字节输入流:InputStream 抽象类
专门操作文本文档
字符输出流:Writer 抽象类
字符输入流:Reader 抽象类
字节输出流,Outputstream 是一个抽象类
子类:Fileoutputstream
Fileoutputstream(File file)
Fileoutputstream(String name)]
a.指定的文件如果没有,输出流会自动创建
b.每执行一次,默认都会创建一个新的文件,覆盖老文件
void write(int b) —> 一次写一个字节
void write(byte[] b) —> 一次写一个字节数组
void write(bytel] b, int off, int len) —> 一次写一个字节数组一部分
b:写的数组
off:从数组的哪个索引开始写
len:写多少个
void close() —> 关闭资源
Fileoutputstream(string name, boolean append)
append:true —> 续写追加,文件不覆盖
- import java.io.FileOutputStream;
- import java.io.IOException;
-
- public class Demo266FileOutputStream {
- public static void main(String[] args) throws IOException {
- method01();
- method02();
- method03();
- method04();
- method05();
- }
-
- // Fileoutputstream(String name)]
- private static void method01() throws IOException{
- // Fileoutputstream(File file) 每次执行新的文件都会覆盖老文件
- FileOutputStream fos = new FileOutputStream("AllWillBest_Java\\1.txt");
- // void write(int b) —> 一次写一个字节
- fos.write(97);
- // void close() —> 关闭资源
- fos.close();
- }
-
- private static void method02() throws IOException{
- // void write(byte[] b) —> 一次写一个字节数组
- FileOutputStream fos = new FileOutputStream("AllWillBest_Java\\1.txt");
- byte[] buf = {97,98,99,100,101,102,103,104,105};
- fos.write(buf);
- // void close() —> 关闭资源
- fos.close();
- }
-
- private static void method03() throws IOException{
- // void write(bytel] b, int off, int len) —> 一次写一个字节数组一部分
- // b:写的数组
- // off:从数组的哪个索引开始写
- // len:写多少个
- FileOutputStream fos = new FileOutputStream("AllWillBest_Java\\1.txt");
- byte[] buf = {97,98,99,100,101,102,103,104,105};
- fos.write(buf,3,5);
- fos.close();
- }
-
- private static void method04() throws IOException{
- FileOutputStream fos = new FileOutputStream("AllWillBest_Java\\1.txt");
- byte[] bytes = "一切都会好的\n".getBytes();
- fos.write(bytes);
- fos.close();
- }
-
- private static void method05() throws IOException{
- // Fileoutputstream(string name, boolean append)
- // append:true —> 续写追加,文件不覆盖
- FileOutputStream fos = new FileOutputStream("AllWillBest_Java\\1.txt",true);
- fos.write(" 我一直相信\n".getBytes());
- fos.write(" 越来越好\n".getBytes());
- fos.close();
- }
- }