JavaEE成都校区IO流总结

Posted 黑马程序员成都中心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaEE成都校区IO流总结相关的知识,希望对你有一定的参考价值。

File类--
File类的作用:操作硬盘上的文件或者文件夹
操作方式:创建、删除、判断、获取信息、剪切(renameTo())

字符流和字节流--
】使用区分:单纯的文字使用字符流,图片视频文档使用字符流【推荐全部使用字节流进行处理,因为字符流存在中文乱码问题,需要进行特殊的处理,Reader的子类InputStreamReader的构造函数可以指定字符编码】
】基本使用:字符流-Reader、Writer、(字符流中Reader和Writer的子类FileReader、FileWriter);字节流-InputStream、OutputStream;【记忆方式:罗列的都是在io包下的直接类,其下属的子类都是以直接类的名称作为组合进行扩展,并且常用的子类一般都是file+直接类名,如FileReader、FileWriter、FileInputStream、FileOutputStream都是常用的可实例化的子类】


标准输入流和输出流--
】标准的含义:也就是系统默认的键盘录入和系统打印在控制台使用的两个流
】介绍:public static final InputStream in【System.in】;和public static final PrintStream out【System.out】

缓冲(高效)xx流--
】好处:将基础的字符字节流进行缓冲优化,提升输入输出的效率
】介绍:在流的前面加上Buffered就是对应的缓冲xx流,并且只有四种缓冲xx流,BufferedReader、BufferedWriter、BufferedInputStream、BufferedOutputStream
】特点方法:readLine()可以一行一行地读取字符串,但是只有缓冲字符输入流才有这个方法,newLine()

转换流--
】特点:只能从字节流转换成字符流,如Writer的直接子类InputStreamWriter和Reader的直接子类InputStreamReader,而FileWriter和FileReader又是转换流的直接子类
】特殊用法:转换流的构造方法可以指定字符编码,用来处理中文乱码问题
】拓展:虽然没有专门的转换流来将字符流转换成字节流,但是我们可以直接在输出字符流的时候,将读取到的字符流getBytes();就可以使用字节流进行输出了

打印流--
】特点:分为字符打印流和字节打印流,主要有两个特点,自动刷新和自动换行,自动刷新是将流写入硬盘,自动换行只能使用println()

对象操作流--
】特点:顾名思义,用来操作对象的流,只有两个,ObjectInputStream和ObjectOutputStream
】注意:在网络上传输的对象流必须被序列化才能传输,也就是必须实现序列化接口Serializable

编码表--
】思路:解决乱码问题的思路就是保持读写前后的编码一致性
】应用:现在使用的编码一般就是UTF-8和GBK,但是有些外国的框架使用的是ISO-8859
-1,所以有些时候需要统一编码表,解决乱码问题
】说明:ANSI指的是系统编码,如果系统是简体中文,那么就是GBK的编码表,所以ANSI是根据系统语言进行改变的,JAVA中的String类型的字符串也是跟随系统语言进行变换的

】注:只有需要保存在硬盘上的输出,才需要flush(),来刷新该流的缓冲,如果只需要打印在控制台就不需要flush();打印流打印时可以直接创建新文件

名词介绍--
泛型:泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单,如ArrayList<String> list = new ArrayList<String>(),就是指定集合中的元素都是String类型的参数,上述是泛型的具体应用,在实体类中定义泛型的时候:
class GenericsFoo<T> {
    private T x;

    public GenericsFoo(T x) {
        this.x = x;
    }

    public T getX() {
        return x;
    }

    public void setX(T x) {
        this.x = x;
    }
}


以上是关于JavaEE成都校区IO流总结的主要内容,如果未能解决你的问题,请参考以下文章

成都校区Ajax

JavaEE基础(二十)/IO流

JavaEE基础(二十一)/IO流

JavaEE基础(二十二)/IO流

JavaEE学姐暖心分享: 经验之谈,取之有道

薪资|广州校区JavaEE就业57期,毕业59个工作日,就业率100%,平均薪资8529元