Java 中级IO流基础及主要API编程
1. IO流基础知识,
流 是字节从源到目的地的运行的轨迹,次序是有意义的, 字节会按照次序进行传递, 比如Hello World 在下图中的传递的轨迹。该图形象的解释了IO中流的概念。
流中全是字节。
2. 节点中的流分为输入和输出流。在java.io中,有一些流式节点流和过滤器流,从固定的地方读写数据,就是节点流,否则就是过滤器流,向上图中的FilterInputStream 就是过滤器流。
3. Java中主要的流如下图所示:其中FileInputStream,ByteArrayInputStream,ObjectInputStream,DataInputStream,BufferedInputStream, FilterInputStream
4. BufferedInputStream 和BufferedOutputStream是用于提高输入输出效率的过滤器流。
DataInputStream 和DataOutPutStream
readInt(),Long,Double, 以及字符串,但是最好别用。
5. InputStream 和OutputStream, 这两个类,
int avaiable() 可以表示从流中读取的字节数。
read() 读取一个字节,调一次得到H,再掉一次得到e
read(byte[]) 读入到byte 中,
close() 关闭流及其相关资源。
write()
write(byte[]).
flush(), 刷新,清空,在流中积累了若干次write才会flush,flush 允许强制执行写操作。
6. java的Reader 和Writer。
java writer 和Reader 存在的目的就是以什么编码方式去读取流。而Java是采用unicode(16字节)
去表示char和String 的,所以Reader和Writer类出现的目的就是以这种面向 unicode的方式来处理String 和
字符。
记住其他的均是面向字节处理的, Reader中最重要的类就是InputStreamReader。
7.File
File 是代表文件,同时也代表一个目录中所有文件的名字
File 对象既包含其文件内容,同时也包括了其权限,时间,作者等等。
流的组合。
Java 中级IO流基础及主要API编程的更多相关文章
- Java之IO流基础流对象
输入流和输出流是相对于内存设备而言 即将外设中的数据读取到内存中就是输入 将内存中的数据写入到外设中就是输出 字符流的由来: 其实就是:字节流读取文字字节数据后,不直接操作而是先查指 ...
- Java IO流基础总结
前言 好久不用Java的IO流,把好多的基础知识都忘了,昨天在写一段代码,发现好多细节都忘了.那天在组织组内代码评审的时候,发现有人在乱用IO流相关的类,所以还是写篇文章,把这个知识点总结一下. IO ...
- JAVA中IO流总结
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42119261 我想你对JAVA的IO流有所了解,平时使用的 ...
- 第15章-输入/输出 --- 理解Java的IO流
(一)理解Java的IO流 JAVA的IO流是实现输入/输出的基础,它可以方便地实现数据的输入/输出操作,在Java中把不同的输入/输出(键盘.文件.网络连接等)抽象表述为"流"( ...
- Java 的 IO 流
接着上一篇的 “Java 的 File 类” 的随笔,在File类的基础上,我们就走进Java的IO流吧. 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在 ...
- Java的IO流以及输入流与输出流的异同
一:流的基本概念: Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.J ...
- java的IO流
java的IO流继承四大抽象类分别是字节流 inputStream outputStream与字符流 read write.怎么理解记忆很重要. 直接连接读写对象的是结点流,例如对文件读取字节类的名字 ...
- 【Java】IO流简单分辨
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827509.html Java的IO流体系十分庞大,并且体系层次稍复杂,很容易记混或记错.在此,我把平时经常用 ...
- Java - 文件(IO流)
Java - 文件 (IO) 流的分类: > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter ...
随机推荐
- [Head First Python]3. 文件与异常:处理错误
datafile.txt Man: Is this the right room for an argument? Other Man: I've told you once. Man: No you ...
- 【转】Redis安装整理(window平台和Linux平台)
原文连接:http://zheng12tian.iteye.com/blog/1471726 原文作者:zheng12tian 转载注明以上信息! window平台Redis安装 redis wind ...
- opencv + numpy for python
OpenCV的全称是:Open Source Computer Vision Library.OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows和Mac OS ...
- 跪求 EF缓存问题 也不知道是不是缓存 问题
1.数据库里面查的结果 2 vs里面查的结果 为什么 不是16 而是2 下面是代码 /// <summary> /// 权限检查 /// </summary> public ...
- python-Django环境搭建
一例中python版本使用3.5版,通常来说linux自带的python都在2.6左右,所以3.5环境要自己编译安装python 第一部分:安装python3.5 001.解决依赖问题 yum -y ...
- 用lsb_release -a 查看linux版本
1.要通过yum 安装上这个命令的软件包 yum -y install redhat-lsb 2.lsb_release -a 查看linux版本信息
- Android自学学习资料
最近在自学Android编程,在网上看了一些博客和视频教程,觉得比较好的分享一下,继续学习,gangbade~ 国外android官网总是出现连不上的情况,如果你不想FQ的话,这里github上可以直 ...
- 函数fold 或reduce用法
http://yi-programmer.com/2011-02-24_fold.html http://c2.com/cgi/wiki?FoldFunction http://rwh.readthe ...
- C语言的本质(34)——静态库
库是一种软件组件技术,库里面封装了数据和函数. 库的使用可以使程序模块化. Windows系统包括静态链接库(.lib文件)和动态链接库(.dll文件). Linux通常把库文件存放在/usr/lib ...
- bzoj1689 [Usaco2005 Open] Muddy roads 泥泞的路
Description Farmer John has a problem: the dirt road from his farm to town has suffered in the recen ...