CGBTN2109-DAY13复习总结

Posted 程序媛 泡泡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CGBTN2109-DAY13复习总结相关的知识,希望对你有一定的参考价值。

DAY13复习

1.流的分类

1)按照方向分类:输入流 输出流
2)按照操作的单位分类:字节流 字符流
3)组合情况:字节输入流 字节输出流 字符输入流 字符输出流

2.字节输入流

1)抽象父级:InputStream–不能实例化
2)普通子级:

  1. FileInputStream–操作文件的字节输入流
    构造方法参数:File file / String pathname
  2. BufferedInputStream–高效字节输入流
    构造方法参数:InputStream,但无法创建抽象父级对象,所以传的是FileInputStream

3.字节输出流

1)抽象父级:OutputStream–不能实例化
2)普通子级:

  1. FileOutputStream–操作文件的字节输出流
    构造方法参数:File file / String pathname
    注意:默认存在一个参数boolean append,默认值为false,也就是覆盖输出
    如果将FileOutputStream构造函数的第2个参数appned设置为true,就会实现追加输出的效果
  2. BufferedOutputStream–高效字节输出流
    构造方法参数:OutputStream,但无法创建抽象父级对象,所以传的是FileOutputStream

4.字符输入流

1)抽象父级:Reader
2)普通子级:

  1. FileReader–操作文件的字符输入流
    构造方法参数:File file /String filename
  2. BufferedReader–高效字符输入流
    构造方法参数:Reader,但无法创建抽象父级对象,所以传的是FileReader

5.字符输出流

1)抽象父级:Writer
2)普通子级:

  1. FileWriter–操作文件的字符输出流
    构造方法参数:File file /String filename
    注意:默认存在一个参数boolean append,默认值为false,也就是覆盖输出
    如果将FileWriter构造函数的第2个参数appned设置为true,就会实现追加输出的效果
  2. BufferedWriter–高效字符输出流
    构造方法参数:Writer,但无法创建抽象父级对象,所以传的是FileWriter

练习多种流对象的创建方式

package cn.tedu.review;

import java.io.*;

/*本类用于复习流对象的创建*/
public class TestCreateStream {
    public static void main(String[] args) {
        f1();//用于复习字节流
        f2();//用于复习字符流
    }

    //用于复习字符流对象的创建
    private static void f2() {
        try {
            //用于复习字符输入流
            //Reader in = new Reader();--抽象不可以被实例化
            FileReader in = new FileReader(new File(""));
            FileReader in2 = new FileReader("");
            BufferedReader in3 = new BufferedReader(new FileReader(new File("")));
            BufferedReader in4 = new BufferedReader(new FileReader(""));

            //用于复习字符输出流
            Writer out = null;
            //out = new Writer();--抽象父级不可以被实例化
            out = new FileWriter(new File(""));
            out = new FileWriter("");
            out = new FileWriter(new File(""),true);
            out = new FileWriter("",true);

            out = new BufferedWriter(new FileWriter(new File("")));//覆盖输出
            out = new BufferedWriter(new FileWriter(""));//覆盖输出
            out = new BufferedWriter(new FileWriter(new File(""),true));//追加输出
            out = new BufferedWriter(new FileWriter("",true));//追加输出
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //用于复习字节流对象的创建
    private static void f1() {
        try {
            //用于复习字节输入流
            //InputStream in = new InputStream();--抽象父级不可以被实例化
            FileInputStream in = new FileInputStream(new File(""));
            FileInputStream in2 = new FileInputStream("");
            BufferedInputStream in3 = new BufferedInputStream(
                    new FileInputStream(new File("")));
            BufferedInputStream in4 = new BufferedInputStream(
                    new FileInputStream(""));
            //用于复习字节输出流
            OutputStream out = null;
            //out = new OutputStream();//抽象父级不可以实例化
            out = new FileOutputStream(new File(""));//覆盖输出
            out = new FileOutputStream("");//覆盖输出
            out = new FileOutputStream(new File(""), true);//追加输出
            out = new FileOutputStream("", true);//追加输出

            out = new BufferedOutputStream(new FileOutputStream(new File("")));
            out = new BufferedOutputStream(new FileOutputStream(""));
            out = new BufferedOutputStream(new FileOutputStream(new File(""), true));
            out = new BufferedOutputStream(new FileOutputStream("", true));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

以上是关于CGBTN2109-DAY13复习总结的主要内容,如果未能解决你的问题,请参考以下文章

CGBTN2109-DAY18复习总结

CGBTN2109-DAY05总结复习

CGBTN2109-DAY04总结复习

CGBTN2109-DAY12总结复习

CGBTN2109-DAY14总结复习

CGBTN2109-DAY15总结复习