美文网首页
BD1 - Java 3-2 I/O

BD1 - Java 3-2 I/O

作者: hongXkeX | 来源:发表于2017-08-05 22:19 被阅读13次

We believe that writing is about content, about what you want to say – not about fancy formatting.
我们坚信写作写的是内容,所思所想,而不是花样格式。
— Ulysses for Mac

Java第10天

今天主要学了I/O流

思维导图:

思维导图

Java的IO流是实现输入/输出的基础,它可以方便的实现数据的输入/输出操作,在Java中把不同的输入/输出源(键盘、文件、网络连接等)抽象表述为“流”(stream),通过流的方式允许Java程序使用相同的方式来访问不同的输入/输出源。stream是从起源到接收的有序数据。
(因Java提供了这种IO流的抽象,所以开发者可以使用一致的IO代码去读写不同的IO流节点)

首先要了解:

流向中输入、输出都是从程序运行所在内存的角度划分的:


流向

Java流类图结构:


Java流类图结构

注:
1 字符流不是Reader 就是Writer
2 Java的输入流主要由InputStream和Reader作为基类,而输出流则主要由OutputStream和Writer作为基类,它们都是一些抽象基类,无法直接创建实例。
3 字节流和字符流用法几乎完全一样,区别是字符流操作的数据单元是16位的字符(适合操作 文本文件);字节流操作的数据单元是8位的字节(适合操作 二进制文件)

流的分类:

分类角度 类型1 类型2
数据流向 输入流 输出流
数据类型 字符流 字节流
功能角度 缓存区流 非缓存区流
角色角度 节点流 处理流

其中部分组合:
输入流 + 字符流 ———— Reader
输出流 + 字符流 ———— Writer

输入流 + 字符流 + 缓冲区 ———— BufferedReader
输出流 + 字符流 + 缓冲区 ———— BufferedWriter

输入流 + 字节流 ———— InputStream
输出流 + 字节流 ———— OutputStream

输入流 + 字节流 + 缓冲区 ———— BufferedInputStream
输出流 + 字节流 + 缓冲区 ———— BufferedOutputStream

...
(可按此方法尝试组合分类)

分类 字节输入流 字节输出流 字符输入流 字符输出流
抽象基类 InputStream OutputStream Reader Writer
访问文件 FileInputStream FileOutputStream FileReader FileWriter
访问数组 ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter
访问管道 PipedInputStream PipedOutputStream PipedReader PipedWriter
缓冲流 BufferedInputStream BufferedOutputStream BufferedReader BuffereWriter
访问字符串 StringReader StringWriter
转换流 InputStreamReader OutputStreamWriter
打印流 PrintStream PrintWriter

各种组合I/O类 操作参见PPT:

老师给的PPT请点我查看下载

今天内容较多,后续再更新关键类 例程
欢迎指正交流


延伸阅读:

1 - Java IO最详解
2 - Java IO流学习总结

世界上所有的追求都是因为热爱
一枚爱编码 爱生活 爱分享的IT信徒
— hongXkeX

相关文章

  • BD1 - Java 3-2 I/O

    We believe that writing is about content, about what you ...

  • 线上学习资料汇总_新

    1. Java I/O 这些年一直记不住的 Java I/O 深入分析 Java I/O 的工作机制 NIO 入门...

  • NIO.2-简介

    More New I/O Java 7 中的 More New I/O APIs,通过在 java.nio.cha...

  • Java & Groovy & Scala & Kotlin -

    Overview 文章介绍的 I/O 主要用于本地文件读写,不涉及网络 I/O。 Java 篇 Java 中的 I...

  • I/O

    Java I/O 总结 理解Java中字符流与字节流的区别 深入学习 Java 序列化 Java I/O 操作及优...

  • 知识总结:I/O模型基础

    I/O基础 1、java1.4之前,java对I/O支持不完善,存在以下问题: 没有数据缓冲区,I/O性能存在问题...

  • Netty 权威指南笔记(一):网络 I/O 模型和 Java

    Netty 权威指南笔记(一):网络 I/O 模型和 Java IO 入门 Java I/O 模型的实现离不开底层...

  • Java I/O

    Java I/O主要包括三个部分1.流式部分2.非流式部分3.其他类 1.字符流 字符流处理文本数据,在java中...

  • java I/O

    一.文件/文件夹File 二.InputStream/OutputStream字节输入输出流 三.关闭流的方式 四...

  • Java I/O

    如果当初陪着你的人走远了,那些日子回忆起来会模糊吗? mark 标记reset 重置exist 存在modifie...

网友评论

      本文标题:BD1 - Java 3-2 I/O

      本文链接:https://www.haomeiwen.com/subject/sisilxtx.html