Java 基础【13】 I/O流概念分析整理
转载地址:http://blog.csdn.net/yuebinghaoyuan/article/details/7388059
java.io 中的流,可以从不同的角度进行分类。
按照数据流的方向不同可以分为:输入流和输出流。
按照处理数据单位不同可以分为:字节流和字符流。
按照实现功能不同可以分为:节点流和处理流。
输出流:
输入流:
因此输入和输出都是从程序的角度来说的。
字节流:一次读入或读出是8位二进制。
字符流:一次读入或读出是16位二进制。
字节流和字符流的原理是相同的,只不过处理的单位不同而已。后缀是Stream是字节流,而后缀是Reader,Writer是字符流。
节点流:直接与数据源相连,读入或读出。
直接使用节点流,读写不方便,为了更快的读写文件,才有了处理流。
处理流:与节点流一块使用,在节点流的基础上,再套接一层,套接在节点流上的就是处理流。
Jdk提供的流继承了四大类:InputStream(字节输入流),OutputStream(字节输出流),Reader(字符输入流),Writer(字符输出流)。
以下是java中io中常用的流。
字节输入流:
字节输出流:
字符输入流:
字符输出流:
简单介绍其上图:
对文件进行操作:FileInputStream(字节输入流),FileOutputStream(字节输出流),FileReader(字符输入流),FileWriter(字符输出流)
对管道进行操作:PipedInputStream(字节输入流),PipedOutStream(字节输出流),PipedReader(字符输入流),PipedWriter(字符输出流)
PipedInputStream的一个实例要和PipedOutputStream的一个实例共同使用,共同完成管道的读取写入操作。主要用于线程操作。
字节/字符数组:ByteArrayInputStream,ByteArrayOutputStream,CharArrayReader,CharArrayWriter是在内存中开辟了一个字节或字符数组。
Buffered缓冲流::BufferedInputStream,BufferedOutputStream,BufferedReader,BufferedWriter,是带缓冲区的处理流,缓冲区的作用的主要目的是:避免每次和硬盘打交道,提高数据访问的效率。
转化流:InputStreamReader/OutputStreamWriter,把字节转化成字符。
数据流:DataInputStream,DataOutputStream。
Java 基础【13】 I/O流概念分析整理相关推荐
- Java基础13:反射与注解详解
Java基础13:反射与注解详解 什么是反射? 反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性. Orac ...
- Java基础编程及思维导图整理
我把Java基础编程及思维导图整理的超级详细,小白都能看懂 Java基础编程及其思维导图 目录: Java学习导图 一.Java基本语法 1.关键字与标识符 2.变量分类 3.运算符 4.流程控制 二 ...
- Java基础之I/O流
一.什么是流? 1. I/O的定义 : Input/Out 入/出 Java通过流来执行I/O 2.什么是流? 流,是一种抽象的东西,咱们先抛开I/O不说,单说计算机中,如果想要让软件来改变 ...
- Java基础:常用IO流
1. 数据流 1.1 概述 数据流是操作基本数据类型的流,分为数据输入流,数据输出流. 1.2 数据输入流 1.DataInputStream:数据输出流允许应用程序以适当方式将基本 Java 数据类 ...
- java基础知识点、面试选择题归纳整理
前言 之前刷了一些题,为了方便自己日后可以快速的查缺补漏以及方便有需要的人,这里整理了一些个人感觉比较有意义的选择题,题目均来自牛客网的java相关选择题. 如各位看官发现哪里写的不对的,请帮忙指出, ...
- Java基础篇:IO流
文章目录 一.File类的使用 File类的概述 File类的实例化 File类的常用方法 二.IO流原理及流的分类 Java IO原理 流的分类 流的体系结构 输入.输出的标准化过程 三.节点流(文 ...
- java基础教程哪个好,吐血整理
RabbitMQ: 优点:轻量,迅捷,容易部署和使用,拥有灵活的路由配置 缺点:性能和吞吐量较差,不易进行二次开发 RocketMQ: 优点:性能好,稳定可靠,有活跃的中文社区,特点响应快 缺点:兼容 ...
- Java基础教程:IO流与文件基础
Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...
- 重拾Java基础知识:IO流
I0流 前言 字节流 InputStream OutputStream 字符流 Reader Writer 缓存流 转换流 序列化流 数据流 字节数组流 打印流 校验流 数据压缩 ZIP压缩和解压 G ...
最新文章
- PHP 搜索引擎蜘蛛访问检测和统计
- Qt编写数据可视化大屏界面电子看板12-数据库采集
- linux系统做的小游戏,2007最新 100个Linux系统上的小游戏汇集
- python dll注入 网络_python – 检测反射型DLL注入
- 面试准备每日五题:C++(四)——typedefdefine、指针常量、队列栈、地址赋值、C和C++结构体
- java2017下载_Download Java for OS X 2017-001
- 学习iptables
- 【论文解读】UniLM:一种既能阅读又能自动生成的预训练模型
- 小米4刷魅族系统后无服务器,小米4线刷魅族Flyme OS系统的教程_小米4 Flyme OS刷机包...
- SQL去重的三种方法汇总​
- 双极性正弦脉宽调制(双极性SPWM)介绍及MATLAB仿真验证
- python turtle画表情包
- 8CollapsingToolbarLayout源码分析
- 永不停歇(obama在亚利桑那州治大学毕业典礼上的演讲)
- 玩机器人可以学到什么?
- 咖啡汪日志—— 回退兜底 及实用的服务降级策略
- 水下图像增强本科毕业设计帮助思路
- 产品经理眼中的我们程序员
- Linux 网络编程——TCP/IP 数据包格式解析
- php笔试题及答案网易,2020网易前端面试题含答案解析
热门文章
- springboot系列六、springboot配置错误页面及全局异常
- Linux连接mysql 出现Access denied for user ‘root‘@‘localhost‘(using password: YES)错误解决方案
- 如何在Mongoose中更新/更新文档?
- 如何制作圆角布局..?
- 看看什么是藏匿而不申请[重复]
- 通过wget在Linux上下载Java JDK会显示在许可证页面上
- 如何在Node.js中处理POST数据?
- 电脑遇到蓝屏代码0x000007b问题如何解决
- win11语言输入没反应怎么办 windows11语音输入没反应的解决方法
- tkmybatis开启二级缓存