a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 115|回复: 0

[基础知识] JAVA认证:Java中流的概念与原理

[复制链接]
发表于 2012-8-4 12:37:27 | 显示全部楼层 |阅读模式
一、概念 0 o" s+ c6 g) w  p1 x3 t
  Java中对文件的操作是以流的体例进行的。流是Java内存中的一组有序数据序列。Java将数据年夜源(文件、内存、键盘、收集)读入到内存中,形成了流,然后将这些流还可以写到此外的目的地(文件、内存、节制台、收集),之所以称为流,是因为这个数据序列在分歧时刻所操作的是源的分歧部门。
# U/ [( f: [1 C" K& Y二、分类 , x4 A: I' |* _9 s0 |
  流的分类,Java的流分类斗劲丰硕,刚接触的人看了后会感受很晕。流分类的体例良多:
5 l5 ~: @) C4 Y) Q: ~; S; s: b8 H# H  1、按照输入的标的目的分,输入流和输出流,输入输出的参照对象是Java轨范。
, y7 Y# R+ W7 _1 A3 G% r6 E/ @  2、按照措置数据的单元分歧分,字节约和字符流,字节约篡夺的最小单元是一个字节(1byte=8bit),而字符流一次可以篡夺一个字符(1char = 2byte = 16bit)。5 m+ M  s8 M; U, k; l, z4 @
  3、按照功能的分歧分,分节点流和措置流,节点流是直接年夜一个源读写数据的流(这个流没有经由包装和润色),措置流是在对节点流封装的基本上的一种流,FileInputStream是一个接点流,可以直接年夜文件篡夺数据,可是BufferedInputStream可以包装 FileInputStream,使得其有缓冲功能。
( n- p% p, ^0 V+ F/ @4 [  其实除了以上三种分类外,还有一些经常听到的一些分类好比:对象流、缓冲流、压缩流、文件流等等。其实都是节点流和措置流的子分类。当然你也可以建树新的流类型,只要你需要。. e. \- a2 j2 T  q" y5 I: t  o) x
三、流分类的关系
- d5 |" U# N' A& Z8 B- q! N  不管流的分类是何等的丰硕和复杂,其根源来自于四个根基的类。这个四个类的关系如下:) I+ |8 S% L. g0 H
  字节约  字符流
5 U6 `+ l0 a% K& Q+ J4 a' |  输入流  InputStream  Reader3 h0 Q6 c9 C; J
  输出流  OutputStream  Writer
* N5 M6 F: i, {5 P( R3 i  r% Y  
' {2 y5 A, t; b% |四、字节约和字符流的彼此转换 + o) t" F* |: ^
  1、年夜字节约到字符流:InputStreamReader、OutputStreamWriter类可以实现。# G1 T4 R* P3 _# u
  2、年夜字符流到字节约:可以年夜字符流中获取char[]数组,转换为String,然后挪用String的API函数getBytes() 获取到byte[],然后就可以经由过程ByteArrayInputStream、ByteArrayOutputStream来实现到字节约的转换。  F% A0 a" i: P  ]! `5 ?- h8 Y
  以上常识是进修Java流的根底,对流的操作很是的轻易,Java API中供给了丰硕的流措置类,API也年夜差不差,看看文档即可上手。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-4-29 17:09 , Processed in 0.227641 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表