如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
[Return][Return]10.1.1流的概念10.1.2字节流和字符流字节流由两个类层次结构定义。在顶层有两个抽象类:InputStream和OutputStream。每个抽象类都有多个具体的子类,这些子类对不同的外设进行处理,例如磁盘文件、网络连接、甚至是内存缓冲区。各种字节流类及其相关说明见教材P235页。10.1.3预定义流10.1.4Java输入/输出类和接口[Return]10.2.1如何读取控制台输入10.2.2读取字符10.2.3读取字符串[Return]10.3.1如何向控制台写输出10.3.2PrintWriter类[Return]10.4.1字节流FileOutputStream创建了一个可以向文件写入字节的类OutputStream,它常用的构造函数如下: FileOutputStream(StringfilePath) FileOutputStream(FilefileObj) FileOutputStream(StringfilePath,booleanappend) 它们可以引发IOException或SecurityException异常。这里,filePath是文件的全称路径,fileObj是描述该文件的File对象。如果append为true,文件以设置搜索路径模式打开。 FileOutputStream的创建不依赖于文件是否存在。在创建对象时FileOutputStream在打开输出文件之前创建它。这种情况下,如果试图打开一个只读文件,将会引发一个IOException异常。教材P244~245页的例子用于创建一个样本字节缓冲器。ByteArrayInputStream是把字节数组当成源的输入流。该类有两个构造函数,每个构造函数需要一个字节数组提供数据源。 ByteArrayInputStream(bytearray[]) ByteArrayInputStream(bytearray[],intstart,intnumBytes) 这里,array是输入源。第二个构造函数创建了一个InputStream类,该类从字节数组的子集生成,以start指定索引的字符为起点,长度由numBytes决定。教材P246页的例子创建了两个ByteArrayInputStream对象,并用字母表的字节初始化它们。对于字节流,缓冲流(bufferedstream)是一种字节流,通过把内存缓冲器连到输入/输出流而扩展一个过滤流类。该缓冲器允许Java对多个字节同时进行输入/输出操作,提高了程序性能。因为缓冲器可用,所以可以跳过、标记和重新设置流。缓冲字节流类是BufferedInputStream和BufferedOutputStream。PushbackInputStream也可实现缓冲流。详细情况见教材P248~251页的介绍。尽管字节流提供了处理任何类型输入/输出操作的足够的功能,它们不能直接操作Unicode字符。既然Java的主要目标是支持“只写一次,到处运行”的信念,包括直接的字符输入/输出支持是必要的。本节将讨论几个字符输入/输出类。如前所述,字符流层次结构的顶层是Reader和Writer抽象类,下面从这两个类开始介绍。FileWriter创建一个可以写文件的Writer类,它最常用的构造函数形式如下 FileWriter(StringfilePath) FileWriter(StringfilePath,booleanappend) FileWriter(FilefileObj) 它们可以引发IOException或者SecurityException异常。在这里,filePath是文件的完全路径,fileObj是描述该文件的File对象。如果append为true,输出是附加到文件尾的。 FileWriter类的创建不依赖于文件存在与否。在创建文件之前,FileWriter将在创建对象时打开它来作为输出。如果试图打开一个只读文件,将引发一个IOException异常。教材P254~255页的例子是对前面讨论FileOutputStream时用到例子的字符流形式的版本。它创建了一个样本字符缓冲器,开始生成一个String,然后用getChars()方法提取字符数组。CharArrayWriter实现了以数组作为目标的输出流。CharArrayWriter有两个构造函数。 CharArrayWriter() CharArrayWriter(intnumChars) 第一种形式,创建了一个默认长度的缓冲器;第二种形式,缓冲器长度由numChars指定。缓冲器保存在CharArrayWriter的buf成员中。缓冲器大小在需要的情况下可以自动增长。缓冲器保持的字符数包含在CharArrayWr
as****16
实名认证
内容提供者
最近下载