Java语言程序设计(郑莉)第六章课后习题答案
在Java编程中,文件操作是不可或缺的一部分。在Java语言程序设计中,第六章可能主要讲解了文件和流的概念,以及如何使用Java I/O API来处理文件。本章的课后习题集中关注了如何利用File类和不同的流来实现文件的操作。 习题要求将例题中的文件构造方法改为使用File类对象作为参数实现。File类在Java中是用来表示文件和目录路径名的抽象类,它提供了许多与文件和目录操作相关的静态方法,但不直接支持文件的读写。例如,我们不能直接使用`file.read()`或`file.write()`这样的方法。要读写文件内容,我们需要创建相关的输入/输出流对象,如FileReader、FileWriter、BufferedReader、BufferedWriter等。例6-2展示了如何使用File对象创建新文件,并通过BufferedWriter写入文本内容: ```java File writer = new File(fileName); writer.createNewFile(); BufferedWriter input = new BufferedWriter(new FileWriter(writer)); input.write("Hello !\n"); input.write("this is my first text file,\n"); input.write("你还好吗?\n"); input.close(); ``` 第二个习题要求模仿文本文件复制的例题,编写一个程序来复制二进制文件。在Java中,复制二进制文件通常需要使用InputStream和OutputStream。这里使用了BufferedInputStream和BufferedOutputStream以提高性能。`CopyMaker`类包含三个关键方法:`openFiles()`用于打开源文件和目标文件,`copyFiles()`执行实际的复制操作,`closeFiles()`负责关闭这两个文件。以下是`CopyMaker`类的简化版本: ```java class CopyMaker { String sourceName, destName; BufferedInputStream source; BufferedOutputStream dest; // 打开源文件和目标文件 private boolean openFiles() { try { source = new BufferedInputStream(new FileInputStream(sourceName)); dest = new BufferedOutputStream(new FileOutputStream(destName)); } catch (IOException iox) { System.out.println("Problem opening files"); return false; } return true; } // 复制文件 private boolean copyFiles() { try { int line; while ((line = source.read()) != -1) { dest.write(line); } } catch (IOException iox) { System.out.println("Problem copying files"); return false; } return true; } // 关闭源文件和目标文件 private boolean closeFiles() { try { source.close(); dest.close(); } catch (IOException iox) { System.out.println("Problem closing files"); return false; } return true; } } ``` 这个类的`openFiles()`方法会尝试打开源文件和目标文件,如果失败则打印错误信息并返回false。`copyFiles()`方法通过不断读取源文件的数据并写入目标文件来实现复制。`closeFiles()`方法确保所有打开的文件都被正确关闭,防止资源泄漏。 总结来说,Java中的文件操作涉及到对File类的使用以及各种输入/输出流的配合。通过这些工具,我们可以实现对文件的基本操作,如创建、读取、写入和复制,无论是文本文件还是二进制文件。在实际编程中,理解和熟练掌握这些概念和方法对于任何Java开发者都是至关重要的。



















剩余19页未读,继续阅读


- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 图像处理(第3章).ppt
- 通用统计报表数据处理软件SARP2000V30开发与使用.docx
- 基础教育信息化环境建设问题及发展建议.pdf
- 基于PLC全自动洗衣机毕业设计1.doc
- 用友软件对鼎捷软件神州数码的竞争策略分析.pptx
- 网络安全培训教材(PPT 51页).pptx
- 基于冲突再分配DSmT的多尺度融合边缘检测算法[最终版].pdf
- (源码)基于Python的模因生命引导程序.zip
- 事故隐患治理项目管理规定.docx
- 项目管理人员试题(含答案).doc
- 完美版资料新嵌入式课程设计龙傲天小组.docx
- 微软招聘过程及经验(3).pptx
- 计算机应用基础2-4.ppt
- 基于单片机的酒精浓度测试系统设计.doc
- 蓝莓网络营销策划方案策划书.doc
- 校园网络安全知识竞赛试题.doc


