毕业设计(论文)外文文献翻译译文:Java I/O 系统[1]对编程语言的设计者来说,创建一套好的输入输出(I/O)系统,是一项难度极高的任务
这一类可以从解决方案的数量之多上看出端倪
这个问题就难在它要面对的可能性太多了
不仅是因为有那么多的 I/O 的源和目的(文件,控制台,网络连接等等),而且还有很多方法(顺序的,随机的,缓存的,二进制的,字符方式的,行的,字的等等)
Java 类库的设计者们用“创建很多类”的办法来解决这个问题
坦率地说,Java I/O 系统的类实在太多了,以至于初看起来会把人吓着(但是,具有讽刺意味的是,这种设计实际上是限制了类的爆炸性增长)
此外,Java 在 1
0 版之后又对其 I/O 类库进行了重大的修改,原先是面对 byte 的,现在又补充了面对 Unicode 字符的类库
为了提高性能,完善功能,JDK1
4又加了一个 nio(意思是“new I/O"
这个名字会用上很多年)
这么以来,假如你想对 Java 的 I/O 类库有个全面了解,并且做到运用自如,你就得先学习大量的类
此外,了解 I/O 类库的演化历史也是相当重要的
可能你的第一反应是“别拿什么历史来烦我了,告诉我怎么用就可以了
”但问题是,假如你对这段一无所知,很快就会被一些有用或是没用的类给搞糊涂了
本文会介绍 Java 标准类库中的各种 I/O 类,及其使用方法
File 类在介绍直接从流里读写数据的类之前,我们先介绍一下处理文件和目录的类
你会认为这是一个关于文件的类,但它不是
你可以用它来表示某个文件的名字,也可以用它来表示目录里一组文件的名字
假如它表示的是一组文件,那么你还可以用 list( )方法来进行查询,让它会返回 String 数组
由于元素数量是固定的,因此数组会比容器更好一些
假如你想要猎取另一个目录的清单,再建一个 File 对象就是了