2.Java IO教程--概览
来源:互联网 发布:勇者之塔精灵进阶数据 编辑:程序博客网 时间:2024/05/09 15:18
本文是在Java IO Overview翻译而来。欢迎大家联系我,跟我一起交流。本人水平有限,如果错误欢迎指正。
在本篇文章中,我会努力给你展现java IO包中类的概览。更具体的说,我会试着基于这些类的作用给它们分组。这样分类会使你将来更容易使用它:确定类的作用,或者发现类的特殊作用。
输入和输出–源头和目标
“输入”和“输出”这俩个术语有时候会让你有点迷惑。应用程序的一部分输入常常会是另一个应用程序的输出。输出流是不是就是输出写入的或者来自于你读取的输出呢? 毕竟,输入流 输出数据到读取程序中,不是吗?从我个人而言,在我开始学习java IO的那些日子里,我发现这有点令人困惑。
为了解决这个潜在的疑惑,在输入和输出里,我尝试放入一些不同的名字,试着在输入源和输出去处上概念地联系它们。
Java的IO包大部分关注自身:从源头读取原始数据和向目标写入原始数据。大部分比较典型的数据源头和目标如下:
-Files-文件
-Pipes-管道
-Network Connections-网络连接
- In-memory Buffers(e.g arrays)-内存缓存(比如数组)
-System.in,System.out,System.error-系统输入、输出、错误。
下图表明程序从源头读取数据和写数据到目标的原理:
流
输入输出流是java IO的核心概念。在概念上流是数据连续的流动。你可以从流中读取数据或向流写入数据。流是跟输入源和输出目标连接的。Java IO中的流可以字节(读写字节)或者字符(读写字符)。
输入流,输出流,读和写
程序从输入源读取数据的话,就需要输入流InputStream或者阅读器Reader 。程序向输出目标写入数据的话,就需要输出流OutputStream或者阅读器Reader 。阐述如下图:
输入源/阅读器关联着数据输入源,输入流/写入器关联着数据输出目标。
Java IO目的和特点
java IO包括输入流、输出流、阅读器和写入器的很多子类。原因是这些子类都指向不同的用途。这就是为什么有这么多不同的类。用途总结如下:
-文件访问
-网络访问
- 内存缓存访问
-线程间通信(管道)
-缓存
-过滤
-解析
- 读写文档(阅读器和写入器)
- 读写原始数据(长整形,整形等)
- 读写对象
当通过java IO类读取数据时,这些用途很好理解。会使得对类用途的理解有点容易。
Java IO类的表格一览
通过Java IO类,已经讨论了输入源,输出目标,输入,输出和很多的IO用途,下表列出了大部分java IO类(如果不是全部),划分规则为:输入、输出、基于字节或字符、特殊用途–像缓存、解析等。
- 2.Java IO教程--概览
- Java流、IO概览
- Java输入输出IO API(java.io):概览
- 1.Java IO教程
- IO流概览
- 3.Java IO教程-文件
- KUIX教程概览
- 2.Swift教程翻译系列——Swift概览
- Java NIO(New IO) 教程
- Java NIO(New IO) 通俗易懂简明教程
- SAP PA标准教程概览
- Java语言 -- 概览
- Java技术概览
- java 输入输出流概览
- java web前台概览
- java学习概览
- Java 集合概览
- Java网络编程概览
- HDOJ 1241Oil Deposits(BFS)
- Android起步之布局(1)LinearLayout
- 客户端缓存和服务器缓存处理
- 练习4:变量
- C语言实现顺序表
- 2.Java IO教程--概览
- xcode7-- 创建pch宏 与安装cocoapods
- onethink修改后台的团队信息等内容
- ZYThumbnailTableView---堪比一个小型阅读App
- 我感觉我秒老了
- CDOJ 1087 基爷的中位数 二分
- 五险一金和个人所得税
- C#界面美工IrisSkin2+button美工
- terminal下历史命令自动完成功能history auto complete