java 8 io_Java IO8:IO简单总结
字节流、字符流继承关系
前几篇文章讲解了字节流、字符流的使用,不过Java提供给用户的流类远不止此,限于篇幅原因,没办法一一讲解,而且也没有必要一一讲解,就像我在写博客的时候多次提到的,有问题的时候学会查JDK API即可。OK,虽然不一一讲解每种流,我自己简单画了几张UML图,说明一下字节输入流、字节输出流、字符输入流、字符输出流这四个流类的子类继承关系。
1、字节输入流
2、字节输出流
3、字符输入流
4、字符输出流
总结一下流类的使用
1、File是一些文件/文件夹操作的源头,File代表的就是文件/文件夹本身,因此无论如何,使用IO的第一步是建议开发者根据路径实例化出一个File
2、考虑使用字符流还是字节流。操作文本一般使用字符流,即Reader和Writer;操作字节文件使用字节流,即InputStream和OutputStream
3、选择使用输入流还是输出流。把内容从文件读入Java内存使用输入流,即Reader和InputStream;把内容从Java内存读到文件使用输出流,即Writer和OutputStream
4、使用字符流使用BufferedReader和BufferedWriter,它们的构造函数中的参数分别是Reader和Writer,因此既可以实例化出FileReader和FileWriter,也可以实例化出InputStreamReader和OutputStreamWriter,作为构造函数的参数传入BufferedReader和BufferedWriter
5、FileInputStream和FileOutputStream可以直接操作文件的读写,它们没有做缓存,字节流的缓存可以使用BufferedInputStream和BufferedOutputStream
6、ObjectOutputStream和ObjectInputStream,它们分别以OutputStream和InputStream作为构造函数的参数,因此可以实例化出FileOutputStream和FileInputStream并传入
另外,请知,IO是Java的23种设计模式中的装饰器模式的典型应用,这在讲解设计模式的时候会专门讲到。
java 8 io_Java IO8:IO简单总结相关推荐
- java 快速io_Java编程在ICPC快速IO实现源码
本文将介绍Java在ICPC快速IO实现方法,下面看看具体代码. 不处理EOF: import java.io.OutputStream; import java.io.IOException; im ...
- Java基础:常用IO流
1. 数据流 1.1 概述 数据流是操作基本数据类型的流,分为数据输入流,数据输出流. 1.2 数据输入流 1.DataInputStream:数据输出流允许应用程序以适当方式将基本 Java 数据类 ...
- Java中利用socket实现简单的服务端与客户端的通信(中级)——实现任意双向通信
本文计划采用socket实现客户端和服务端的任意双向通信,即客户端可以随时给服务端发消息,服务端也可以随时给客户端发消息,最终结果就是一个类似与QQ的聊天软件的功能. 以下代码可以直接拷贝到Eclip ...
- Java中利用socket实现简单的服务端与客户端的通信(基础级)
在上一篇文章中,简单的介绍了java中入门级的socket编程,简单的实现了客户端像服务器端发送数据,服务器端将数据接收并显示在控制台,没有涉及多线程.上一篇文章的链接:Java中利用socket实现 ...
- java图片简单爬虫_[Java教程]使用jsoup进行简单的爬虫操作爬取图片
[Java教程]使用jsoup进行简单的爬虫操作爬取图片 0 2015-12-01 17:00:27 package com.guanglan.util;import java.io.File;imp ...
- java播放声音类和一个简单示例
java播放声音类和一个简单示例 播放声音的类 复制代码 代码如下: import java.io.File; import java.io.IOException; import javax.so ...
- java扫描局域网中可用ip_使用java线程扫描局域网ip简单方案
package com.cjh.thread; import java.io.BufferedReader; import java.io.IOException; import java.io.In ...
- 重拾Java基础知识:IO流
I0流 前言 字节流 InputStream OutputStream 字符流 Reader Writer 缓存流 转换流 序列化流 数据流 字节数组流 打印流 校验流 数据压缩 ZIP压缩和解压 G ...
- 【Java网络编程与IO流】Java之Java Servlet详解
Java网络编程与IO流目录: [Java网络编程与IO流]Java中IO流分为几种?字符流.字节流.缓冲流.输入流.输出流.节点流.处理流 [Java网络编程与IO流]计算机网络常见面试题高频核心考 ...
最新文章
- 如何彻底卸载mysql(xp)
- Hyperscan-5.1.0 安装
- VTK:Medical之MedicalDemo2
- oracle排名怎么去除空值影响,Oracle排序中null值处理方法讲解
- 算法系列之图--DFS
- 快速解决:阿里云ECS实例远程桌面连接 发生身份验证错误。要求的函数不受支持 !
- VSCode自定义代码片段8——声明函数
- 1.2 Enterprise Library 应用程序块
- STM32工作笔记0096---用sprintf分配内存
- 2018年php还是python好_2018年PHP还值得学习吗?
- 工作3年,还不懂单点登录系统?看看这8幅漫画~
- c语言 步进电机 程序,步进电机c语言控制程序
- TSP、MTSP问题遗传算法详细解读及python实现
- 腾讯云服务器无限更换ip,腾讯云服务器免费更换IP额度不足利用弹性IP地址更换...
- 深入理解Instrument
- 北大学子求职经历与建议(IT类)
- 经验分享-iMX8MQ设计底板硬件指南-第一章
- ppt编辑器android,ppt编辑器
- table 汽车之家 车型对比 简单实现 列变行
- 计算机运算器由什么组成部分,什么是运算器_运算器由什么组成
热门文章
- Chapter 5 Exercises Problems
- jQuery学习教程(一):入门
- python 比赛成绩预测_大数据新研究:用六个月的跑步记录准确预测马拉松完赛成绩...
- java builder pool_每周10道Java面试题:String, String Pool, StringBuilder
- bootstrap综合大作业_齐齐哈尔市克东县城市管理综合执法局昼夜奋战清冰雪,全力以赴保畅通...
- YII2 服务器验证码不显示
- neditor 自定义工具栏配置
- 力扣Java解数独_LeetCode 力扣 37. 解数独
- 计算机网络协议包头赏析-TCP
- html如何查看文档,查看文档