赛迪网 > IT技术 Java > 最新更新
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

第17章 输入/输出:探究java.io (3)

发布时间:2006.06.20 06:05     来源:清华大学出版社    作者:Herbert Schildt 著 张玉清 吴溥峰等 译

17.2.3 listFiles()方法
Java 2增加了list( )方法的一个变化形式,名为listFiles( ),你会发现该方法很有用。listFiles( )形式如下:
File[ ] listFiles( )
File[ ] listFiles(FilenameFilter FFObj)
File[ ] listFiles(FileFilter FObj)
上述三种形式以File对象矩阵的形式返回文件列表,而不是用字符串形式返回。第一种形式返回所有的文件,第二种形式返回满足指定FilenameFilter接口的文件。除了返回一个File 对象数组,这两个listFiles( )方法就像list( )方法一样工作。第三种listFiles( )形式返回满足指定FileFilter的路径名的文件。FileFilter只定义了一个accept( )方法,该方法被列表中的每个文件调用一次。它的通常形式如下:
boolean accept(File path)
如果文件被包括在列表中(即与path参数匹配的文件),accept( )方法返回true,如果不被包括,则返回false。
17.2.4 创建目录
另外两个有用的File类的方法是mkdir( )和mkdirs( )。mkdir( )方法创建了一个目录,创建成功返回true,创建失败返回false。创建失败是指File对象指定的目录已经存在,或者是因为整个路径不存在而不能创建目录。创建路径不存在的目录,用mkdirs( )的方法。它创建目录以及该目录所有的父目录。
17.3 流 类
Java 的流式输入/输出建立在四个抽象类的基础上:InputStream, OutputStream, Reader和Writer。这些类在第12章中有过简要的讨论。它们用来创建具体流式子类。尽管程序通过具体子类执行输入/输出操作,顶层的类定义了所有流类的基础通用功能。InputStream 和OutputStream 设计成字节流类。Reader 和Writer 为字符流设计。字节流类和字符流类形成分离的层次结构。一般说来,处理字符或字符串时应使用字符流类,处理字节或二进制对象时应用字节流类。下面分别讲述字节流和字符流类。
17.4 字 节 流
字节流类为处理字节式输入/输出提供了丰富的环境。一个字节流可以和其他任何类型的对象并用,包括二进制数据。这样的多功能性使得字节流对很多类型的程序都很重要。因为字节流类以InputStream 和OutputStream为顶层,我们就从讨论这两个类开始。
17.4.1 InputStream(输入流)
InputStream 是一个定义了Java流式字节输入模式的抽象类。该类的所有方法在出错条件下引发一个IOException 异常。表17-1显示了InputStream的方法。
表17-1 InputStream 定义的方法
方法 描述
int available( ) 返回当前可读的输入字节数
void close( ) 关闭输入源。关闭之后的读取会产生IOException异常
void mark(int numBytes) 在输入流的当前点放置一个标记。该流在读取numBytes个字节
前都保持有效
boolean markSupported( ) 如果调用的流支持mark( )/reset( )就返回true
int read( ) 如果下一个字节可读则返回一个整型,遇到文件尾时返回-1
int read(byte buffer[ ]) 试图读取buffer.length个字节到buffer中,并返回实际成功读取
的字节数。遇到文件尾时返回-1
int read(byte buffer[ ], int offset,
int numBytes)
试图读取buffer中从buffer[offset]开始的numBytes个字节,返回
实际读取的字节数。遇到文件尾时返回-1
void reset( ) 重新设置输入指针到先前设置的标志处
long skip(long numBytes) 忽略numBytes个输入字节,返回实际忽略的字节数
17.4.2 OutputStream(输出流)
OutputStream是定义了流式字节输出模式的抽象类。该类的所有方法返回一个void 值并且在出错情况下引发一个IOException异常。表17-2显示了OutputStream的方法。
表17-2 OutputStream 定义的方法
方法 描述
void close( ) 关闭输出流。关闭后的写操作会产生IOException异常
void flush( ) 定制输出状态以使每个缓冲器都被清除,也就是刷新输出缓冲区
void write(int b) 向输出流写入单个字节。注意参数是一个整型数,它允许你不必把参数转换成字节型就可以调用write()
void write(byte buffer[ ]) 向一个输出流写一个完整的字节数组
void write(byte buffer[ ], int offset,
int numBytes)
写数组buffer以buffer[offset]为起点的numBytes个字节区域内的内容
注意:多数在表17-1和表17-2中描述的方法由InputStream 和OutputStream的子类实现,但mark( )和reset( )方法除外。注意下面讨论的每个子类中它们的使用和不用情况。

<<上一页 1 2 3 4 5 6 7 8 9 10 11 12 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· java.util第2部分:更多的实用工具类 (06-11)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管