栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Javase IO流小总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Javase IO流小总结

IO流,什么是IO?
I : Input
O : Output
通过IO可以完成硬盘文件的读和写。

(一)IO流的分类?

一种方式是按照流的方向进行分类:
        以内存作为参照物
        往内存中去,叫做输入(Input)。或者叫做读(Read)。
        从内存中出来,叫做输出(Output)。或者叫做写(Write)。

可分为:输入流、输出流、字节流、字符流

(二)java IO流有四大家族

四大家族的首领:
        java.io.InputStream  字节输入流
        java.io.OutputStream 字节输出流

        java.io.Reader        字符输入流
        java.io.Writer        字符输出流

字符流和字节流的区别:
        字符流:只能读取一些普通文件。
        字节流:可以读取普通文件,视频,音频等等。

所有的流都实现了:
            java.io.Closeable接口,都是可关闭的,都有close()方法。用完流一定要关闭。

所有的输出流都实现了:
            java.io.Flushable接口,都是可刷新的,都有flush()方法。在最终输出之后一定要flush刷新,否则可能会导致数据丢失。

注意:在java中只要“类名”以Stream结尾的都是字节流。以“Reader/Writer”结尾的都是字符流。

(三)java.io包下需要掌握的流

文件专属流:(掌握)
        FileInputStream
        FileOutputStream
        FileReader
        FileWriter
作用:可以对文件进行一些读写操作。

以下的流只是对文件流进行一些加强,就是扩展而已。

转换流专属:(了解)
        InputStreamReader
        OutputStreamWriter
作用:将字节流转换成字符流。

缓冲流专属:(了解)
        BufferedInputStream
        BufferedOutputStream
        BufferedReader
        BufferedWriter
作用:对文件流进行一些扩展。
特有方法:readLine() 一次读取一行

数据流专属:(了解)
        DataInputStream
        DataOutputStream
作用:可以存储一些基本数据类型的数据
特有方法:writeInt(int i)、writeBoolean(boolean b)...
                  readInt()、readBoolean()...
注意:存的时候和取的时候顺序必须相同,否则就会取到不一样的值。

标准输出流:
        PrintWriter
        PrintStream(掌握)
作用:可以将数据输出到文件里面。
用途:可以配合写一个日志类来管理日志。

System.setOut(new PrintStream("文件"));

System.out.println("java"); // "java" 会输出到文件里面

对象专属流:(掌握)
        ObjectInputStream(反序列化)
        ObjectOutputStream(序列化)
序列化概念:
        序列化:serialize (内存--硬盘)
        反序列化:reserialize(硬盘--内存)
作用:可以存储对象和基本类型数据。(也是按顺序存取的,否则会异常)
特有方法:writeObject(Object o)
                  readObject()
                存储多个对象建议使用集合去存,然后将集合对象保存到文件里。
注意:参与序列化的类型必须实现java.io.Serializable接口。
           transient关键字:游离的、不参与序列化的。
           并且建议将序列化版本号(serialVersionUID)手动的写出来。

(四)IO + Properties联合使用。

IO流:文件的读和写。
Properties:是一个Map集合,key和value都是String类型。
使用:

// 创建文件输入流对象
FileInputStream fis = new FileInputStream("文件");
// 创建Properties集合
Properties list = new Properties();
//Properties集合中的load()加载方法
list.load(fis); // --> 将文件里的数据加载到Properties集合中
// 获取数据
String username = list.getProperty("username");
String password = list.getProperty("password");
System.out.println(username);
System.out.println(password);
(五)java.io.File类使用

掌握File类的常用方法。

自用的复习小总结,欢迎大佬们多多指点。

                

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/721296.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号