JavaIO系统基础知识
8页1、Java I/O系统基础知识2011-12-19 14:05 亚卓 亚卓的博客我要评论(0)字号:T|T编程语言的I/O类库中常常使用流这个抽象的概念,它代表任何有能力产生数据的数据源对象或时有能力接收数据的接收端对象。“流”概念源于UNIX中的管道(pipe)的概念。AD:编程语言的I/O类库中常常使用流这个抽象的概念,它代表任何有能力产生数据的数据源对象或时有能力接收数据的接收端对象。“流”概念源于UNIX中的管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等,它屏蔽了实际的I/O设备中处理数据的细节。 一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL。 流的方向是重要的,根据流的方向,流可以分为两类:输入流和输出流。其实输入/输出是想对于内存来说的。 实际上,流的源端和目的端可简单地看成是字节的生产者和消费者,对于输入流,可不必关心它的源端是什么,只要简单地从流中读数据,而对输出流,也可不知道它的目的端,只是简单地往流中写数据。1: a.流:一组
2、有序的数据序列。2: b.字节流:数据流中最小的数据单元是字节。3: c.字符流:数据流中最小的数据单元是字符。一、java.io包中的类对应两类流一类流直接从指定的位置(如磁盘文件或内存区域)读或写,这类流称为结点流,其他的流则称为过滤流(包装流)过滤流:一些流可以从文件以及其他地方接收字节,另一些流可以将字节组合成更有用的数据类型。将一个已经存在的流传递给另一个流的构造方法,将这两种流结合起来,结合后的流被称为过滤流。过滤器输入流往往是以其它输入流作为它的输入源,经过过滤或处理后再以新的输入流的形式提供给用户,过滤器输出流也类似。 我们很少用单一的类来创建流对象,而是通过叠合多个对象来提供所期望的功能(即装饰器设计模式)。java的常用输入、输出流其实都是继承自4个抽象类,分别是 基于单字节的InputStream,OutputStream类(面向字节形式的/) 基于双字节的Unicode代码单元的 Reader, Writer类(面向字符形式的/)一旦打开输入流后,程序就可从输入流串行地读数据。从输入流读/写数据的过程一般如下:打开一个流通道-读取/写信息-关闭流通道。在java
3、平台中,有以下两种方式能获得本地平台的字符编码类型:(a)System.getProperty(file.encoding);(b) Charset cs=Charset.defaultCharset();所有的输入流、输出流都可以分为字节(输入、输出)流,字符(输入、输出)流,处理字节的主要是(OutputStream/InputStream) 系列,处理字符的,主要是(Reader/Write)系列。二、以字节(Byte)为导向的输入流(InputStream系列),这几个类都可以与FileInputStream对象相连以提供有用接口:1) ByteArrayInputStream:把内存中的一个缓冲区作为InputStream使用2) StringBufferInputStream(在java1.1中已经弃用了1)把一个String对象作为InputStream,底层实现使用StringBuffer2) FileInputStream:把一个文件作为InputStream,实现对文件的读取操作(文件名、文件、FileDescriptor对象)3) PipedInputStream
4、:实现了pipe的概念,主要在线程中使用(作为多进程中的数据源)4) SequenceInputStream:把多个InputStream合并为一个InputStream以字节(Byte)为导向的输出流(OutputStream系列),可以与ilterOutputStream对象相连以提供有用接口:1) ByteArrayOutputStream:在内存中创建缓冲区,把信息存入内存中的一个缓冲区中,缓冲区初始化尺寸(可选)2) FileOutputStream:把信息存入文件中(文件名、文件、FileDescriptor)3) PipedOutputStream:实现了pipe的概念,主要在线程中使用(指定用于多线程的数据的目的地)三、与之对应的(Reader/Writer)系列:1: Reader: 与InputStream相对应,适配器InputStreamReader2: Writer: 与OutputStream相对应,适配器为OutputStreamWriter3: FileReader: 与FileOutputStream相对应4: FileWriter: 与FileOur
《JavaIO系统基础知识》由会员新**分享,可在线阅读,更多相关《JavaIO系统基础知识》请在金锄头文库上搜索。
产前筛查工作制度
第二章辖区妇幼健康业务管理质量与持续改进
特种设备使用单位安全主体责任
社区工作者述职报告
新2015-2016学年高中政治 第二单元 探索世界与追求真理学案 新人教版必修4
当前工业园区存在的问题与今后应采取的措施
高校生简历自我介绍
常用肺功能指标
小学生暑假读书计划推荐
酒店优秀保安工作计划参考范文(三篇).doc
公司债权转让协议参考范本(3篇).doc
参加《领导角色认知与职能行为分析》培训体会
高中英语人教版选修7练习 Unit 1 Section 3精修版
社区工作座谈会主持词开场串词
小学教师年度工作计划格式版(四篇)
小班讲述活动:会滚动的汽车
农作物种子标签二维码编码的追溯系统功能
该性能计数器注册表配置单元已损坏若要继续,必须修复该性能计数器注册表配置单元
期末冲刺寄语范本精选
职业学校要重视固定资产的科学管理
2022-12-02 6页
2024-03-11 9页
2022-11-23 2页
2022-09-22 13页
2023-02-01 5页
2022-11-19 20页
2023-10-02 4页
2022-09-19 5页
2023-05-04 2页
2023-01-04 37页