- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JavaIO系统JAVAIOSystem外文文献翻译及原文.doc
毕业设计(论文) 外文文献翻译
文献、资料中文题目:Java I/O系统
文献、资料英文题目:JAVA I/O System
文献、资料来源:
文献、资料发表(出版)日期:
院(部):
专 业:
班 级:
姓 名:
学 号:
指导教师: 翻译日期:
2017. 02. 14
毕业设计(论文)外文文献翻译
译文:
Java I/O系统⑴
对编程语言的设计者来说,创建一套好的输入输出(I/O)系统,是一项难度极 高的任务。
这一类可以从解决方案的数量之多上看出端倪。这个问题就难在它要而对的可能 性太多了。不仅是因为有那么多的I/O的源和目的(文件,控制台,网络连接等等), 而且还有很多方法(顺序的,随机的,缓存的,二进制的,字符方式的,行的,字的 等等)。
Java类库的设计荠们用“创建很多类”的办法来解决这个问题。坦率地说,Java I/O系统的类实在太多Y,以至于初看起来会把人吓着(但是,具有讽刺意味的是, 这种设计实际上是限制了类的爆炸性增长)。此外,Java在1.0版之后又对其I/O类 库进行了重大的修改,原先是而向byte的,现在又补充了而向Unicode字符的类库。 为了提高性能,完善功能,JDK1.4又加了一个nio(意思是“rww I/O”。这个名字会 用上很多年)。这么以来,如果你想对Java的I/O类库有个全而了解,并且做到运 用自如,你就得先学习大量的类。此外,了解I/O类库的演化历史也是相当重要的。 可能你的第一反应是“别拿什么历史来烦我了,告诉我怎么用就可以了!”但问题是, 如果你对这段一无所知,很快就会被一些有用或是没用的类给搞糊涂了。
本文会介绍Java标准类库中的芥种I/O类,及其使用方法。
Filo 类
在介绍直接从流里读写数据的类之前,我们先介绍一下处理文件和目录的类。
你会认为这是一个关于文件的类,但它不是。你可以用它来表示某个文件的名字, 也可以用它来表示A泶里一组文件的名字。如果它表示的是一组文件,那么你还可以 用list()方法来进行査询,让它会返回String数组。由于元素数量是固定的,因 此数组会比容器更好一些。如果你想要获取另一个目录的清单,再建一个File对象 就是r。
目录列表器
假设你想看看这个目录。有两个办法。一是不带参数调用list()。它返回的是 File对象所含内容的完整清单。但是,如果你要的是一个限制性列表(restricted list)的话一一比方说,你想看看所有扩展名为.java的文件一一那么你就得使 用目录过滤器了。这是一个专门负责挑选显示File对象的内容的类。
FilenameFilter接门的声明:
public interface FilenameFilter {
boolean accept(File dir, String name);
}
accept ()方法需要两个参数,一个是File对象,表示这个文件是在哪个目录里 面的;另一个是String,表示文件名。虽然你可以忽略它们中的一个,其至两个都 不管,但是你大概总得用一下文件名吧。记住,list()会对目录里的每个文件调用 accept (),并以此判断是不是把它包括到返回值里;这个判断依据就是accept () 的返冋值。
切记,文件名里不能有路径信息。为此你只要用一个String对象来创建File 对象,然后再调用这个File对象的getName()就可以丫。它会帮你剥离路径信息(以 一种平台无关的方式)。然后再在accept ()里面用正则表达式(regular expression) 的matcher对象判断,regex是否与文件名相匹HE。兜完这个圈子,list()方法返 回了一个数组。
匿名内部类
这是用匿名内部类來征程程序的绝佳机会。K面我们先创建一个返回
FilenameFileter 的 fiIter ()方法。
// Uses anonymous inner classes.
import java. io.
import java, util?氺;
import com. bruceeckel. util.
public class DirList2 {
public static FilenameFilter filter (final String afn) {
// Creation of anonymous inner class: return new FilenameFilter() {
String fn = afn;
public boolean accept(File dir, String n) {
// Strip path information:
String f = new File(n). getName(); r
文档评论(0)