OA办公管理系统的设计与实现-文献翻译.docVIP

OA办公管理系统的设计与实现-文献翻译.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OA办公管理系统的设计与实现-文献翻译

重 庆 理 工 大 学 文 献 翻 译 Java IO 系统 摘要 s2,并用它创建一个 StringReader。然后调用read()每次读取一个字符,并把它发送到控制台。注意 read()是以 int 的形式返回下一字节,因此必须强制转换为 char 才能正确打印。 3.格式化的内存输入 如果要读取格式化数据,我们要用到 DataInputStream,它是一个面向字节的 I/O 类(不是面向字符的)。因此我们必须使用 InputStream 类而不是 Reader 类。当然,我们可以用 InputStream 以字节的形式读取任何数据(例如一个文件),不过,在这里使用的是字符串。为了将字符串转换为成适用于 ByteArrayInputStream 的字节数组,String 包含了一个可以实现此项工作的 getBytes()方法。至此,我们就持有了一个可传递给DataInputStream 的 InputStream。 如果我们从 DataInputStream 用 readByte()一次一个字节地来读取字符,那么由于任何字节的值都是合法的结果,因此返回值不能用来检测输入是否结束。相反,我们可以使用available()方法查看还有多少可供存取的字符。 4.文件输出 这个例子也展示了如何向文件写入数据。首先,创建一个与指定文件连接的 FileWriter。实际上,我们通常会用 BufferedWriter 将其包装起来用以缓冲输出(尝试移除此包装来感受到对性能的影响——缓冲往往能显著地增加 I/O 操作的性能)。然后为了格式化把它转换PrintWriter。按照这种方式创建的数据文件可作为普通文本文件读取。 当读入行时,行号就会增加。注意并未用到 LineNumberInputStream,因为这个类没有多大帮助,所以我们没必要用它。正如在此所见,记录我们自己的行号很微不足道。一旦读完数据流,readLine()会返回 null。我们可以看到要为 out1 显式 close(),如果我们不为所有的输出文件调用 close(),就会发现缓冲区内容不会刷新清空,那么它们也就不完整。 5.存储和恢复数据 PrintStream 可以对数据进行格式化,以便人们的阅读。但是为了使输出可供另一个流恢复的数据,我们必需用 DataOutputStream 写入数据,并用 DataInputStream 恢复数据。当然,这些流可以是任何形式,但在这里我们采用的是一个文件,并且对于读和写都进行了缓冲处理。注意 DataOutputStream 和 DataInputStream 是面向字节的,因此要使用 InputStream 和 OutputStreams。 如果我们使用DataOutputStream写入数据,Java保证我们可以使用DataInputStream准确地读取数据——无论读和写数据的平台怎么不同。这一点具有不可思议的价值,因为我们都知道人们曾经花费了大量时间去处理平台相关的数据问题。只要两个平台上都有Java,这种问题就不会再发生3。当我们使用 DataOutputStream 时,写字符串并且让 DataInputStream 能够恢复它的唯一可靠的做法就是使用 UTF-8 编码,在例子第五部分中是用 writeUTF( ) 和 readUTF( )来实现的。UTF-8 是 Unicode 的变体,后者把所有字符都存储成两个字节的形式。如果我们使用的只是 ASCII 或者几乎都是 ASCII 字符(只占 7 位),这么做就显得极其浪费空间和带宽,所以 UTF-8 将 ASCII 字符编码成单一字节的形式,而非 ASCII 字符则编码成两到三个字节的形式。另外,字符串的长度存储在前两个字节中。但是,writeUTF( ) 和readUTF( )使用的是适合于 Java 的 UTF-8 变体(在 JDK 文档中有这些方法的详尽描述), 因此如果我们用一个非 Java 程序读取用 writeUTF( )所写的字符串时,必须编写一些特殊代码才能正确读取字符串。有了 writeUTF( ) and readUTF( ),我们就可以用 DataOutputStream 把字符串和其他数据类型相混合,我们知道字符串完全可以作为 Unicode 来存储,并且可以很容易地使用DataInputStream 来恢复它。writeDouble()将 double 类型的数字存储到流中,并用相应的 readDouble()恢复它(对于其他的数据类型,也有类似方法用于读写)。但是为了保证所有的读方法都能够正常工作,我们必须知道流中数据项所在的确切位置,因为极有可能将保存的 double 数据作为一个简单的字节序列、char 或其他

文档评论(0)

a888118a + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档