欢迎来到天天文库
浏览记录
ID:51260822
大小:69.00 KB
页数:4页
时间:2020-03-10
《南京java培训机构 java基础知识之io系统.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、南京Java培训机构Java基础知识ZI/O系统木文主要是讲述Java基础知识ZI/O系统,多线程并发处理,更多Java技术知识,请登陆江苏力•和计算机培训屮心官网。编稈语言的I/O类库屮常常使用流这个抽象的概念,它代表任何有能力产生数据的数据源对象或时有能力接收数据的接收端对象。“流”概念源于UNIX中的管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等,它屏蔽了实际的I/O设备屮处理数据的细节。一个流,必有源端和目的端,它们可以是计算机
2、内存的某些区域,也可以是磁盘文件,甚至可以是Internet±的某个URL。流的方向是重要的,根据流的方向,流可以分为两类:输入流和输出流。其实输入/输出是想对于内存来说的。实际上,流的源端和日的端可简单地看成是字节的生产者和消费者,对于输入流,可不必关心它的源端是什么,只要简单地从流屮读数据,而对输出流,也可不知道它的目的端,只是简单地往流屮写数据。a.流:一组有序的数据序列。b字节流:数据流屮最小的数据单元是字节。c.字符流:数据流屮最小的数据单元是字符。—.java.io包屮的类对应两类流一类流肓接从
3、指定的位置(如磁盘文件或内存区域)读或写,这类流称为结点流,其他的流则称为过滤流(包装流)过滤流:一些流可以从文件以及其他地方接收字节,另一些流可以将字节组合成更有用的数据类熨。将一个已经存在的流传递给另一个流的构造方法,将这两种流结合起来,结合示的流被称为过滤流。过滤器输入流往往是以其它输入流作为它的输入源,经过过滤或处理麻再以新的输入流的形式提供给用户,过滤器输出流也类似。我们很少用单一的类来创建流对象,而是通过叠合多个对象来提供所期望的功能(即装饰器设计模式)。java的常用输入、输出流其实都是继承自
4、4个抽彖类,分别是:基于单字节的lnputStream,OutputStream类(面向字节形式的I/O)基于双字节的Unicode代码单元的Reader,Writer类(面向字符形式的I/O)一旦打开输入流后,程序就可从输入流串行地读数据。从输入流读/写数据的过稈一般如下:打开一个流通道-〉读取/写信息・・>关闭流通道。在java平台屮,有以下两种方式能获得木地平台的字符编码类型:(a)System.getProperty("file.encoding”);(b)Charsetcs=Charset.def
5、aultCharset();所有的输入流、输岀流都可以分为字节(输入、输出)流,字符(输入、输出)流,处理字节的主要是(OutputStream/InputStream)系列,处理字符的,主要是(Reader/Write)系列%1.以字节(Byte)为导向的输入流{Inputstream系列),这几个类都可以与FilelnputStream对象相连以提供有用接口:ByteArraylnputStream:把内存屮的一个缓冲区作为Inputstream使用StringBufferlnputStream(在ja
6、val.l中己经弃用了):把一个String对象作为Inputstream,底层实现使用StringBuffer对象)PipedlnputStream:实现了pipe的概念,主要在线稈冲使用(作为多进程中的数据源)SequencelnputStream:把多个InputStream合并为一个InputStream以字节(Byte)为导向的输出流(Outputstream系列),可以与FilterOutputStream对象相连以提供有用接口:ByteArrayOutputStream:在内存屮创建缓冲区,把
7、信息存入内存屮的一个缓冲区屮,缓冲区初始化尺寸(可选)PipedOutputStream:实现了pipe的概念,主要在线程中使用(指定用于多线稈的数据的目的地)%1.与Z对应的(Reader/Writer)系列:Reader:与Inputstream相对应,适配器InputStreamReaderWriter:与Outputstream相对应,适配器为OutputStreamWriterFileReader:与FileOutputStream相对应FileWriter:与FileOurputStream相对
8、应StringReader:无相对应的类StringWriter:与ByteArraylnputStream相对应CharArrayReader:与ByteArrayOutputStream相对丿'VCharArrayWriter:与ByteArrayOutputStream相对应PipedReader:与PipedlnputStream相对应PipedWriter:与PipedOutputStream相对应%1
此文档下载收益归作者所有