Java新教材第七章面试题.doc_第1页
Java新教材第七章面试题.doc_第2页
Java新教材第七章面试题.doc_第3页
Java新教材第七章面试题.doc_第4页
Java新教材第七章面试题.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 7 章 XML 和 Java I O 处理 181 7 1 File 类 181 File 类是用来做什么的 答案 File 类是 java io 包下代表与平台无关的文件和目录 换言之 如果需要在 程序中操作文件和目录都可以通过 File 类来操作 7 1 1 访问文件和目录 181 用什么方式可以访问文件和目录 答案 可以通过 File 类 7 1 2 文件过滤 185 怎么进行文件过滤 答案 在 File 类的 list 方法中 可以接受一个参数 FileNameFilter 通过它 可 以只将一些符合条件的文件列出来 7 2 I O 流的概述 186 7 2 1 流的概述 186 什么是 I O 流 答案 Java 的 IO 流是实现输入 输出的基础 它可以方便实现数据的输入 输出 操作 Java 中把不同的输入 输出源 例如 键盘 网络连接等 抽象表述为 流 通过流的方式允许 Java 程序使用相同的方式来访问不同的输入 输出源 7 2 2 流的分类 187 按照流的方向分 可以分为哪几种 答案 按照流的方向分 可以分为输入流 Input Stream 和输出流 Output Stream 输入流 Input Stream 只能从中读取数据 而不能向其写入数据 输出流 Output Stream 只能向其写入数据 而不能从中读取数据 7 3 InputStream 和 OutputStream 187 InputStream 和 OutputStream 读 写流的方式是什么 答案 InputStream OutputStream 是抽象类 提供了输入输出处理的基本接口 并 且实现了其中一些方法 它们读 写流的方式都是以字节为单位进行的 按照流的方向分 可以分为输入流 Input Stream 和输出流 Output Stream 请描述什么是输入流 什么是输出流 答案 输入流 Input Stream 只能从中读取数据 而不能向其写入数据 VI 输出流 Output Stream 只能向其写入数据 而不能从中读取数据 输入流和输出流分别通过抽象类 InputStream 和 OutputStream 来实现 7 3 1 InputStream 187 InputStream 的作用是什么 答案 InputStream 用于从源按照字节读取数据 7 3 2 OutputStream 189 7 4 FileInputStream 和 FileOutputStream 191 FileInputStream 和 FileOutputStream 的作用 答案 Java 中提供了 FileInputStream 和 FileOutputStream 用于从文件中读取信息 和向文件中写入信息 FileInputStream 和 FileOutputStream 分别是 InputStream 和 OutputStream 的直接子类 7 5 高级字节流 193 7 5 1 FilterInputStream 和 FilterOutputStream 194 什么是 FilterInputStream 和 FilterOutputStream 答案 FilterInputStream 和 FilterOutputStream 分别是 InputStream 和 OutputStream 的子类 它们重写了父类的所有方法 并且提供了对流进行输入输 出的一系列接口 FilterInputStream 和 FilterOutputStream 是抽象类 不能生成实 例 它们的不同的子类各自完成了特殊的功能 7 5 2 BufferedInputStream 和 BufferedOutputStream 194 BufferedInputStream 和 BufferedOutputStream 的作用是什么 答案 BufferedInputStream 和 BufferedOutputStream 实现了带缓冲的过滤流 在 读写的同时对数据进行缓存 这样可以避免每次读写或发送数据时都要进行实际 的物理读写操作 因此在输入输出时经常要用到这两个类 7 5 3 DataInputStream 和 DataOutputStream 194 DataInputStream 和 DataOutputStream 的作用是什么 答案 DataInputStream 和 DataOutputStream 同样分别继承自 FilterInputStream 和 FilterOutputStream 可以用与计算机无关的格式读写 Java 的基本数据类型以及 String 对象 7 6 其他高级流 195 7 7 Reader 和 Writer 195 7 7 1 Reader 195 Reader 的作用是什么 答案 Reader 与 InputStream 相同 用于从流中读取数据 它和 InputStream 的区 别在于 InputStream 是以字节为单位操作流 而 Reader 是以字符为单位操作流 7 7 2 Writer 197 Writer 的作用是什么 答案 Writer 与 OutputStream 类似 用于向流中写入数据 它们之间的区别在于 Writer 写入的是字符 而 OutputStream 写入的是字节 7 8 读 写随机访问文件 RandomAccessFile 199 VII 7 9 重定向标准输入 输出 200 字节流与字符流的区别 答案 要把一片二进制数据数据逐一输出到某个设备中 或者从某个设备中逐一 读取一片二进制数据 不管输入输出设备是什么 我们要用统一的方式来完成这 些操作 用一种抽象的方式进行描述 这个抽象描述方式起名为 IO 流 对应的 抽象类为 OutputStream 和 InputStream 不同的实现类就代表不同的输入和输出 设备 它们都是针对字节进行操作的 在应用中 经常要完全是字符的一段文本输出去或读进来 用字节流可以吗 计算机中的一切最终都是二进制的字节形式存在 对于 中国 这些字符 首先 要得到其对应的字节 然后将字节写入到输出流 读取时 首先读到的是字节 可是我们要把它显示为字符 我们需要将字节转换成字符 由于这样的需求很广 泛 人家专门提供了字符流的包装类 底层设备永远只接受字节数据 有时候要写字符串到底层设备 需要将字符 串转成字节再进行写入 字符流是字节流的包装 字符流则是直接接受字符串 它内部将串转成字节 再写入底层设备 这为我们向 IO 设别写入或读取字符串 提供了一点点方便 字符向字节转换时 要注意编码的问题 因为字符串转成字节数组 其实是转成该字符的某种编码的字节形式 读取也是反之的道理 讲解字节流与字符流关系的代码案例 import java io BufferedReader import java io FileInputStream import java io FileOutputStream import java io FileReader import java io FileWriter import java io InputStreamReader import java io PrintWriter public class IOTest public static void main String args throws Exception String str 中国人 FileOutputStream fos new FileOutputStream 1 txt fos write str getBytes UTF 8 fos close FileWriter fw new FileWriter 1 txt fw write str fw close PrintWriter pw new PrintWriter 1 txt utf 8 pw write str pw close FileReader fr new FileReader 1 txt VIII char buf new char 1024 int len fr read buf String myStr new String buf 0 len System out println myStr FileInputStream fr new FileInputStream 1 txt byte buf new byte 1024 int len fr read buf String myStr new String buf 0 len UTF 8 System out println myStr BufferedReader br new BufferedReader new InputStreamReader new FileInputStream 1 txt UTF 8 String myStr br readLine br close System out println myStr 什么是 java 序列化 如何实现 java 序列化 或者请解释 Serializable 接口的作用 答案 我们有时候将一个 java 对象变成字节流的形式传出去或者从一个字节流 中恢复成一个 java 对象 例如 要将 java 对象存储到硬盘或者传送给网络上的 其他计算机 这个过程我们可以自己写代码去把一个 java 对象变成某个格式的 字节流再传输 但是 jre 本身就提供了这种支持 我们可以调用 OutputStream 的 writeObject 方法来做 如果要让 java 帮我们做 要被传输的对象必须实现 serializable 接口 这样 javac 编译时就会进行特殊处理 编译的类才可以被 writeObject 方法操作 这就是所谓的序列化 需要被序列化的类必须实现 Serializable 接口 该接口是一个 mini 接口 其中没有需要实现的方法 implements Serializable 只是为了标注该对象是可被序列化的 例如 在 web 开发中 如果对象被保存在了 Session 中 tomcat 在重启时要 把 Session 对象序列化到硬盘 这个对象就必须实现 Serializable 接口 如果对象 要经过分布式系统进行网络传输或通过 rmi 等远程调用 这就需要在网络上传输 对象 被传输的对象就必须实现 Serializable 接口 7 10 xml 解析 201 7 10 1 XML 简介 201 什么是 XML 答案 XML Extensible Markup Language 即可拓展标记语言 它是一种简单的 数据存储语言 使用一系列简单的标签描述数据 这些标签可以用方便的方式建 IX 立 请写出 XML 的三个主要的作用 答案 数据存储 XML 和数据库一样 都可以实现数据的持久化存储 两者相 比 数据库提供了更强有力的数据存储和分析能力 XML 仅仅是存储数据 XML 与其它数据表现形式最大的不同是它极其简单 数据交换 在实际应用中 由于各个计算机所使用的操作系统 数据库不同 因 此数据之间的交换向来是头疼的事情 但可以使用 XML 交换数据来解决这个问 题 例如 可以将数据库 A 中的数据转换成标准的 XML 文件 然后数据库 B 再 将该标准的 XML 文件转换成适合自己数据要求的数据 以便达到交换数据的目 的 数据配置 许多应用都将配置数据存储在 XML 文件中 使用 XML 配制文件可 读性强 灵活性高 不用像其它应用那样要经过重新编译才能修改和维护应用 xml 有哪些解析技术 区别是什么 答案 有 DOM SAX STAX 等 DOM 处理大型文件时其性能下降的非常厉害 这个问题是由 DOM 的树结构所 造成的 这种结构占用的内存较多 而且 DOM 必须在解析文件之前把整个文档 装入内存 适合对 XML 的随机访问 SAX 不现于 DOM SAX 是事件驱动型的 XML 解析方式 它顺序读取 XML 文件 不需要一次全部装载整个文件 当遇 到像文件开头 文档结束 或者标签开头与标签结束时 它会触发一个事件 用 户通过在其回调事件中写入处理代码来处理 XML 文件 适合对 XML 的顺序访 问 STAX Streaming API for XML StAX 讲解这些区别是不需要特别去比较 就像说传智播客与其他培训机构的区别时 我们只需说清楚传智播客有什么特点和优点就行了 这就已经间接回答了彼此的 区别 你在项目中用到了 xml 技术的哪些方面 如何实现的 答案 用到了数据存贮 信息配置两方面 在做数据交换平台时 将不能数据源 的数据组装成 XML 文件 然后将 XML 文件压缩打包加密后通过网络传送给接 收者 接收解密与解压缩后再同 XML 文件中还原相关信息进行处理 在做软件 配置时 利用 XML 可以很方便的进行 软件的各种配置参数都存贮在 XML 文 件中 7 10 2 DOM 解析 XML 202 DOM 解析 XML 的方法是什么 答案 DOM 是 Document Object Model 的缩写 即文档对象模型 XML 将数据 组织为一棵树 所以 DOM 就是对这棵树的一个对象描述 通俗的说 就是通过 解析 XML 文档 为 XML 文档在逻辑上建立一个树模型 树的节点是一个个对 象 我们通过存取这些对象就能够存取 XML 文档的内容 请分析 DOM 解析 XML 的优缺点 答案 DOM 解析的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论