IO流概述
* 可以将这种数据传输操作,看做一种数据的流动 , 按照流动的方向分为输入Input和输出Output* Java中的IO操作主要指的是 java.io包下的一些常用类的使用. 通过这些常用类对数据进行读取(输入Input) 和 写出(输出Output)** IO流的分类:* 按照流的方向来分,可以分为:输入流和输出流.* 按照流动的数据类型来分,可以分为:字节流和字符流** 字节流:* - 输入流 : InputStream* - 输出流 : OutputStream* 字符流:* - 输入流 : Reader* - 输出流 : Writer*** 一切皆字节:* 计算机中的任何数据(文本,图片,视频,音乐等等)都是以二进制的形式存储的.* 在数据传输时 也都是以二进制的形式存储的.* 后续学习的任何流 , 在传输时底层都是二进制.
OutputStream概念
此抽象类是表示输出字节流的所有类的超类。 输出流接受输出字节并将它们发送到某个接收器。
OutputStream方法
FileOutputStream
构造方法
方法1
FileOutputStream fos = new FileOutputStream(\"F:\\\\1.txt\");
方法2:追加模式
FileOutputStream fos = new FileOutputStream(\"F:\\\\1.txt\",true);
注意:需要抛出异常:FileNotFoundException
writer方法
方法1:写一个字节
FileOutputStream fos = new FileOutputStream(\"F:\\\\1.txt\");fos.write(65);fos.close();
结果:在F盘下创建文本文件1.txt,里面写了字符A
方法2:写一组字节
FileOutputStream fos = new FileOutputStream(\"F:\\\\1.txt\");byte[] test = new byte[]{65,66,67,68};fos.write(test);fos.close();
结果:
变为追加模式,再运行一次
FileOutputStream fos = new FileOutputStream(\"F:\\\\1.txt\",true);byte[] test = new byte[]{65,66,67,68};fos.write(test);fos.close();
注意:追加模式,一个对象接着写会保存之前有的内容。可以调用getBytes方法将字符串转为byte类型。
byte[] test = \"QWERTY\".getBytes();
方法3:test数组从1下标开始,一共写两个
FileOutputStream fos = new FileOutputStream(\"F:\\\\1.txt\");byte[] test = new byte[]{65,66,67,68};//test数组从1下标开始,一共写两个fos.write(test,1,2);fos.close();
结果:
注意:close方法要尽可能早的关闭,并且一定要有。