Java中的文件与磁盘操作技术详细解析.docVIP

Java中的文件与磁盘操作技术详细解析.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文档。上传文档
查看更多
Java中的文件与磁盘操作技术详细解析

Java中的文件与磁盘操作技术详细解析 Java中的文件与磁盘操作技术详细解析 1 如何获得某一个目录下的文件列表? 13565526334 File MyDir = new File(C:/Windows/.); String[] FileNames = MyDir.list(); 2 如何实现一个打开文件或者是存储文件对话框? AWT: FileDialog类 + FilenameFilter类 Swing: JFileChooser类 + FileFilter类 其中,基于Swing的解决方案功能更加强大,界面也更加美观。 3 利用FileReader/FileOutputStream拷贝中文文件出错? 利用如下代码片断拷贝中文文件不会出错: int c; while ((c = MyFileReader.read()) != -1) MyFileWriter.write(c); 利用如下代码片断拷贝中文文件会导致文件内容错误: int c; while ((c = MyFileReader.read()) != -1) MyFileOutputStream.write(c); 造成这个问题的原因是:FileReader.read()返回一个int,其取值范围是 0 到65535,通常来说是两个字节的;FileWriter.write(int c)向文件写 入一个int,通常来说也是两个字节的,如果某个字符的高位字节为空,那 么其高位字节将被舍弃;FileOutputStream.write(int b)虽然接受一个 int作为参数,实际上只向文件写入一个字节,如果传递过来的参数是一个 双字节的汉字,其高位字节将被舍弃,造成文件内容错误。 建议:永远只使用InputStream/OutputStream进行IO操作。 利用如下代码片断拷贝中文文件不会出错: int c; while ((c = MyFileInputStream.read()) != -1) MyFileOutputStream.write(c); 4 如何显示和存储拉丁语言中的特殊字符 使用统一码Unicode可以显示和存储拉丁语言中的特殊字符。具体应用范例 如下: MyJTextArea.append(u00E1); MyJTextArea.append(u00E2); MyJTextArea.append(u00E3); MyJTextArea.append(u00E4); MyJTextArea.append(u00E5); MyFileOutputStream.write(MyJTextArea.getText().getBytes(UTF-8)); MyFileOutputStream.close(); 同样,在读取文件的时候也需要将读到的内容转换成统一码。 byte[] b = new byte[MyFile.length()]; FileInputStream in = new FileInputStream(MyFile); in.read(b); MyJTextArea.append(new String(b, UTF-8)); 5 如何利用文件进行数据存取 对于一般的科学计算应用程序,DataInputStream和DataOutputStream类通 常是最好的选择。这两个类提供了存取各种数据的方法。下面的范例演示了 构造DataInputStream和DataOutputStream的方法: MyDataInputStream = new DataInputStream( new FileInputStream(MyInputFile)); MyDataOutputStream = new DataOutputStream( new FileOutputStream(MyOutputFile)); 利用ObjectInputStream和ObjectOutputStream同样可以进行数据存取,需 要注意的是这样做增加了硬盘的开销,因为进行对象序列化过程添加了一 些额外的信息。在利用ObjectInputStream和ObjectOutputStream进行通讯 的时候,虽然数据发收过程得到了大大简化,但是对带宽的要求也大大的 提高了。 6 文件操作的基本原则是什么? a. 避免多次访问磁盘,例如一次读出n个字节就比每次读出1个字节的访问 效率要高很多。 b. 避免多次访问操作系统。 c. 避免多次调用文件存取方法。 d. 避免将字节和字符混淆处理,在Java语言中字节与字符的概念是不一

文档评论(0)

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

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

1亿VIP精品文档

相关文档