马太效应 发表于 2017-8-30 23:32:45

Java暑期学习Day43

本帖最后由 马太效应 于 2017-8-30 23:32 编辑

static/image/hrline/line6.png

IO(Input/Output)
IO是计算机输入/输出的接口。Java的核心库java.io提供了全方面的IO接口,包括:文件系统的操作,文件读写,标准设备输出等等。
Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。
Stream 流
输入流 InputStream输出流 OutputStream
输入流和输出流都是属于字节流中。<这两个是抽象类>
字节流:处理二进制数据,每个以一个字节<最基本单位>为单位传输数据,以Stream结尾。


字符流:处理某种格式的特定数据,每次传输一个字符的数据,以Reader/Writer结尾。<Writer类和Reader类也是抽象类>
Java中的字符流处理的最基本单元是Unicode码元(大小两个字节)


Writer类是用于写入字符流。 子类必须实现的唯一方法是write(char [],int,int),flush()和close()。 然而,大多数子类将覆盖这里定义的一些方法,以便提供更高的效率,附加的功能或其他功能。
Reader类是读取字符流的抽象类。子类必须实现的方法只有 read(char[], int, int) 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能。


文件的处理
File:
java.lang.Object
-java.io.Reader


public class File
extends Object
implements Serializable, Comparable<File>
文件和目录路径名的抽象表示。
用户界面和操作系统使用依赖于系统的路径名字符串命名文件和目录。
这个类提供了一个抽象的,独立于系统的层次化路径名的视图。


相关API描述

java.lang.Object
-java.io.InputStream


public abstract class InputStream
extends Object
implements Closeable
这个抽象类是表示输入字节流的所有类的超类。
需要定义InputStream子类的应用InputStream必须始终提供一种返回输入的下一个字节的方法。

static/image/hrline/line6.png
java.lang.Object
-java.io.OutputStream


public abstract class OutputStream
extends Object
implements Closeable, Flushable
这个抽象类是表示字节输出流的所有类的超类。
输出流接收输出字节并将其发送到某个接收器。
需要定义OutputStream子类的应用OutputStream必须至少提供一个写入一个字节输出的方法。

ps.Closeable:表示可以关闭的操作
       Flushable:表示刷新,清空内存中的数据

static/image/hrline/line6.png
java.lang.Object
-java.io.Writer


public abstract class Writer
extends Object
implements Appendable, Closeable, Flushable

static/image/hrline/line6.png
java.lang.Object
-java.io.Reader


public abstract class Reader
extends Object
implements Readable, Closeable


protected Reader()创建一个新的字符流 reader,其重要部分将同步其自身的 reader。
protected Reader(Object lock)创建一个新的字符流 reader,其重要部分将同步给定的对象。




页: [1]
查看完整版本: Java暑期学习Day43