IO流(IO流概述及其分类)
概念:
* IO流用来处理设备之间的数据传输。
* Java对数据的操作是通过流的方式。
* Java用于操作流的类都在IO包中,
* 流按流向分为两种:输入流 ,输出流。
* 流按操作类型分为两种:
* 字节流:字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的。
* 字符流:字符流只能操作纯字符数据,比较方便。
IO流常用父类:
* 字节流的抽象父类:
* InputStream
* OutputStream
* 字符流的抽象父类:
* Reader
* Writer
IO程序书写:
* 使用前,导入IO包中的类
* 使用中,进行IO异常处理
* 使用后,释放资源
IO流(FileInputStream)
public static void main(String[] args) throws IOException { // FileInputStream FileInputStream fis=new FileInputStream("xxx.txt");//创建流对象 int b; while ((b=fis.read())!=-1) { //读取文件内容 System.out.println(b); } fis.close(); }
IO流(FileOutputStream)
public static void main(String[] args) throws IOException { // 创建字节流输出对象(如果没有,就自动创建一个) FileOutputStream list=new FileOutputStream("yy.txt"); list.write(97); //虽然写出的是int数,但是到文件上的是一个字节,会自动取除前三个8位。 list.write(98); list.write(99); list.close(); }
* 追加: 如果向在文件夹续写内容,就在第二个参数传true。
( FileOutputStream list=new FileOutputStream("yy.txt",true);)
IO流(拷贝图片)
public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream("图片.jpg"); // 创建字节流输入对象 FileOutputStream fos = new FileOutputStream("copy.jpg"); // 创建字节流输出对象 int b; while ((b = fis.read()) != -1) { //在不断的读取每一个字节 fos.write(b); //将每一个字节写出 } fis.close(); //关流释放资源 fos.close(); }
* IO流用来处理设备之间的数据传输。