JAVA网络编程复习题_第1页
JAVA网络编程复习题_第2页
JAVA网络编程复习题_第3页
JAVA网络编程复习题_第4页
JAVA网络编程复习题_第5页
已阅读5页,还剩12页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

Java网 络 编 程 期 末 复 习 题 ( I/O、 多 线 程 、 网 络 编 程 、 数 据 库 操 作 )一 、 单 选 题1、 下 列 关 于 Java线 程 的 说 法 那 些 是 正 确 的 ( )A、 每 一 个 Java线 程 可 以 看 成 由 代 码 、 一 个 真 实 的 CPU以 及 数 据 三 部 份 组 成 。B、 创 建 线 程 的 两 种 方 法 中 , 从 Thread类 中 继 承 的 创 建 方 式 可 以 防 止 出 现 多 父 类 问 题 。C、 Thread类 属 于 java.util程 序 包 。D、 以 上 说 法 无 一 正 确 。2、 运 行 下 列 程 序 , 会 产 生 什 么 结 果 ? ( )publicclassXextendsThreadimplementsRunablepublicvoidrun() System.out.println(“thisisrun()“);publicstaticvoidmain(Stringargs)Threadt=new Thread(newX();t.start();A、 第 一 行 会 产 生 编 译 错 误B、 第 六 行 会 产 生 编 译 错 误C、 第 六 行 会 产 生 运 行 错 误D、 程 序 会 运 行 和 启 动3、 下 列 选 项 中 , 用 于 定 义 接 口 的 关 键 字 是 ( )A、 import B、 implementsC、 interfaceD、 protected4 定 义 类 头 时 能 使 用 的 修 饰 符 是 ( )。A)privateB)staticC)abstractD)protected5、 下 面 哪 个 方 法 不 可 以 在 任 何 时 候 被 任 何 线 程 调 用 ?( )A、 wait()B、 sleep()C、 yield()D、 synchronized(this)6. 下 列 关 于 线 程 优 先 级 的 说 法 中 , 正 确 的 是 A) 线 程 的 优 先 级 是 不 能 改 变 的B) 线 程 的 优 先 级 是 在 创 建 线 程 时 设 置 的C) 在 创 建 线 程 后 的 任 何 时 候 都 可 以 设 置D) B 和 C 7.线 程 生 命 周 期 中 正 确 的 状 态 是A) 新 建 状 态 、 运 行 状 态 和 终 止 状 态B) 新 建 状 态 、 运 行 状 态 、 阻 塞 状 态 和 终 止 状 态C) 新 建 状 态 、 可 运 行 状 态 、 运 行 状 态 、 阻 塞 状 态 和 终 止 状 态D) 新 建 状 态 、 可 运 行 状 态 、 运 行 状 态 、 恢 复 状 态 和 终 止 状 态8.Thread 类 中 能 运 行 线 程 体 的 方 法 是A) start() B) resume()C) init() D) run()9在 程 序 读 入 字 符 文 件 时 , 能 够 以 该 文 件 作 为 直 接 参 数 的 类 是A) FileReader B) BufferedReaderC) FileInputStream D) ObjectInputStream10) java.io包 的 File类 是A) 字 符 流 类 B) 字 节 流 类 C) 对 象 流 类 D) 非 流 类11) 下 列 描 述 中 , 正 确 的 是A) 在 Serializable接 口 中 定 义 了 抽 象 方 法B) 在 Serializable接 口 中 定 义 了 常 量C) 在 Serializable接 口 中 没 有 定 义 抽 象 方 法 , 也 没 有 定 义 常 量D) 在 Serializable接 口 中 定 义 了 成 员 方 法12.java 中 用 于 创 建 文 件 对 象 的 类 是 ( )A File B.Object C.Thread D.Frame13. 从 键 盘 上 输 入 一 个 字 符 串 创 建 文 件 对 象 , 若 要 判 断 该 文 件 对 象 为 目 录 文 件 或 数 据 文 件 ,可 使 用 下 列 哪 个 方 法 ? ( )A getPath() B.getName() C.isFile() D.isAbsolute()14. 下 列 哪 个 类 不 对 直 接 创 建 对 象 ? ( )A InputStream B.FileInputStream C.BufferedInputStream D.DataInputStream 15. 从 键 盘 上 输 入 多 个 字 符 时 , 为 了 避 免 回 车 换 行 符 的 影 响 , 需 要 使 用 下 列 哪 个 流 方 法 ?( )A write() B.flush() C.close() D.skip()16. 以 对 象 为 单 位 把 某 个 对 象 写 入 文 件 , 则 需 要 使 用 什 么 方 法 ? ( )A.writeInt() BwriteObject() C.write() D.writUTF()17. 下 列 哪 个 类 的 方 法 能 够 直 接 把 简 单 数 据 类 型 写 入 文 件 ? ( )A OutputStream B.BufferedWriter C.ObjectOutputStream. D.FileWriter18. 若 一 个 类 对 象 能 被 整 体 写 入 文 件 , 则 定 义 该 类 时 必 须 实 现 下 列 哪 个 接 口 ? ( )A.Runnable B.ActionListener C.WindowsAdapter D.Serializable19. 下 列 哪 种 类 型 的 数 据 能 以 对 象 的 形 式 写 入 文 件 ? ( )A String B.Frame C.Dialog D.Button20.File类 的 方 法 中 , 用 于 列 举 某 目 录 下 的 子 目 录 及 文 件 的 方 法 是 ( )A longlength() B.longlastModified() C.Stringlist() D.StringgetName() 21. 能 够 以 字 符 串 为 单 位 写 入 文 件 数 据 的 流 类 是 ( )A.FileOutputStream B.FileWriter C.BufferedWriter C.OutputStream22. 能 够 向 文 件 输 入 逻 辑 型 数 据 的 类 是 : ( )A.FileOutputStream B.OutputStream C.FileWriter D.DataOutputStream 23. 在 线 程 同 步 中 , 为 了 唤 醒 另 一 个 等 待 的 线 程 , 使 用 下 列 方 法 ( )A.sleep() B.wait() Cnotify() D.join()24. 为 了 得 到 当 前 正 在 运 行 的 线 程 , 可 使 用 下 列 哪 个 方 法 ? ( )A getName() B.Thread.CurrentThread().B.sleep() D.run()25. 以 下 ( ) 不 属 于 线 程 的 状 态 。A 就 绪 状 态 B。 运 行 状 态 C。 挂 起 状 态 D。 独 占 状 态26 当 线 程 被 创 建 后 , 其 所 处 的 状 态 是 ( )A 阻 塞 状 态 B。 运 行 状 态 C、 就 绪 状 态 D、 新 建 状 态27 当 线 程 调 用 start()后 , 其 所 处 状 态 为 ( )A 阻 塞 状 态 B。 运 行 状 态 C、 就 绪 状 态 D、 新 建 状 态28 Thread.sleep( ) 方 法 调 用 后 , 当 等 待 时 间 未 到 , 该 线 程 所 处 状 态 为 ( )A 阻 塞 状 态 B。 运 行 状 态 C、 就 绪 状 态 D、 新 建 状 态29 新 生 状 态 的 线 程 其 可 能 直 接 进 入 的 状 态 是 ( ) A 阻 塞 状 态 B、 运 行 状 态 C、 新 建 状 态 D、 结 束 状 态30 Thread.sleep( ) 方 法 调 用 后 , 当 等 待 时 间 已 到 , 该 线 程 所 处 状 态 为 ( )A 阻 塞 状 态 B。 运 行 状 态 C、 就 绪 状 态 D、 新 建 状 态31 当 线 程 因 异 常 而 退 出 run()后 , 其 所 处 状 态 为 ( )A 阻 塞 状 态 B。 运 行 状 态 C、 就 绪 状 态 D、 结 束 状 态32 wait()方 法 首 先 是 哪 个 类 的 方 法 ? ( )A.Object B.Thread. C.Runnable D.File33. 如 果 我 们 想 实 现 “先 把 要 写 入 文 件 的 数 据 先 缓 存 到 内 存 中 , 再 把 缓 存 中 的 数 据 写 入 文 件中 ”的 功 能 时 , 则 需 要 使 用 下 列 哪 个 类 ? ( )A.FileReader B.OutputStream C.FilterOutputStream D.DataOutputStream34. 用 read()方 法 读 取 文 件 内 容 时 , 判 断 文 件 结 束 的 标 记 为 ( )A.0 B.1 C-1 D. 无 标 记35 以 下 哪 个 方 法 只 对 使 用 了 缓 冲 的 流 类 起 作 用 ? ( ) A.read() B.write() C skip() D.flush()36. Java 提 供 的 类 InetAddress 来 进 行 有 关 Internet 地 址 的 操 作 .( )A. Socket B.ServerSocket C. DatagramSocket D InetAddress37. InetAddress 类 中 哪 个 方 法 可 实 现 正 向 名 称 解 析 ? ( )A.isReachable() B.getHostAddress() C.getHosstName() D.getByName()38. 为 了 获 取 远 程 主 机 的 文 件 内 容 , 当 创 建 URL对 象 后 , 需 要 使 用 哪 个 方 法 获 取 信 息 ( )A.getPort() B.getHost C.openStream() D.openConnection()39.java 程 序 中 , 使 用 TCP 套 接 字 编 写 服 务 端 程 序 的 套 接 字 类 是 ( )A.Socket B.ServerSocket C.DatagramSocket D.DatagramPacket40.ServerSocket的 监 听 方 法 accept()的 返 回 值 类 型 是 ( )A.void B. Object C.Socket D.DatagramSocket41.ServerSocket的 getInetAddress()的 返 回 值 类 型 是 ( )A.Socket BServerSocket D.InetAddress D,.URL 42. 当 使 用 客 户 端 套 接 字 Socket创 建 对 象 时 , 需 要 指 定 ( )A 服 务 器 主 机 名 称 和 端 口 B、 服 务 器 端 口 和 文 件 C、 服 务 器 名 称 和 文 件D 服 务 器 地 址 和 文 件43 使 用 流 式 套 接 字 编 程 时 , 为 了 向 对 方 发 送 数 据 , 则 需 要 使 用 哪 个 方 法 ( )A getInetAddress() B.getLocalPort() C.getOutputStream() D.getInputStream() 44. 使 用 UDP套 接 字 通 信 时 , 常 用 哪 个 类 把 要 发 送 的 信 息 打 包 ? ( )A.String B.DatagramSocket C.MulticastSocket D.DatagramPacket45. 使 用 UDP套 接 字 通 信 时 , 哪 个 方 法 用 于 接 收 数 据 ( )A.read() B.receive() C.accept() D.Listen()46. 若 要 取 得 数 据 包 的 中 源 地 址 , 可 使 用 下 列 哪 个 语 句 ( ) ?A getAddress() B.getPort() C.getName() D.getData()47. 要 使 用 java 程 序 访 问 数 据 库 , 则 必 须 首 先 与 数 据 库 建 立 连 接 , 在 建 立 连 接 前 , 应 加 载 数据 库 驱 动 程 序 , 该 语 句 为 ( )AClass.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)B.DriverManage.getConnection(“”,”,”)C.Resultrs=DriverManage.getConnection(“”,”,”).createStatement()D.Statementst=DriverManage.getConnection(“”,”,”).createStaement()48. 要 使 用 java 程 序 访 问 数 据 库 , 则 必 须 首 先 与 数 据 库 建 立 连 接 , 该 语 句 为 ( ) AClass.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)B.DriverManage.getConnection(“”,”,”)C.Resultrs=DriverManage.getConnection(“”,”,”).createStatement()D.Statementst=DriverManage.getConnection(“”,”,”).createStaement()49. java程 序 与 数 据 库 连 接 后 , 需 要 查 看 某 个 表 中 的 数 据 , 使 用 下 列 哪 个 语 句 ? ( )A.executeQuery() B.executeUpdate() CexecuteEdit() D.executeSelect()50. java程 序 与 数 据 库 连 接 后 , 需 要 查 看 某 个 表 中 的 数 据 , 使 用 下 列 哪 个 语 句 ? ( )A.executeQuery() B.executeUpdate() CexecuteEdit() D.executeSelect()二 、 填 空 题1 Stdout System.out 作 为 PrintStream 的 实 例 , 来 实 现 stdout, 它 代 表 的 是 屏 幕 2 Stdin System.in 作 为 InputStream 类 的 一 个 实 例 来 实 现 stdin, 它 代 表 的 是 键 盘 , 你可 以 使 用 其 中 两 个 成 员 函 数 , read()让 你 从 输 入 中 读 一 个 字 节 , skip(long n)让 你 在 输入 中 跳 过 n 个 字 节 。3 Java 中 的 IO 流 分 为 两 种 , 一 种 是 字 节 流 , 另 一 种 是 字 符 流 , 分 别 由 四 个 抽 象 类 来 表 示( 每 种 流 包 括 输 入 和 输 出 两 种 所 以 一 共 四 个 ) :InputStream, OutputStream, Reader, Writer。它 们 通 过 重 载 read( ) 和 write( ) 方 法 定 义 了 6 个 读 写 操 作 方 法 。4 File类 不 是 一 個 標 準 的 I/O类 , 在 java.io 类 库 中 它 是 唯 一 的 non-stream 類 別 , 既 不 能 讀取 文 件 內 容 , 也 不 能 修 改 文 件 內 容 , 主 要 作 用 是 收 集 檔 案 ( 或 目 錄 ) 的 相 關 信 息 , 例 如 : 建立 文 件 对 象 、 修 改 文 件 名 、 设 置 文 件 属 性 、 测 试 文 件 属 性5 目 录 是 一 个 包 含 其 他 文 件 和 路 径 列 表 的 File 类 。 当 你 创 建 一 个 File 对 象 且 它 是 目 录 时 , isDirectory() 方 法 返 回 ture。 这 种 情 况 下 , 可 以 调 用 该 对 象 的 String list( )方 法 来 提 取 该目 录 内 部 其 他 文 件 和 目 录 的 列 表6. 所 有 的 输 出 过 滤 流 都 是 抽 象 类 _ _的 子 类 。 (FilterOutputStream) 7、 字 符 输 入 流 BufferedReader 使 用 了 _ _技 术 。 (PrintStream)8 、 InputStreamReader 负 责 将 InputStream 转 化 成 Reader , 而OutputStreamWriter 则 将 OutputStream 转 化 成 Writer。 实 际 上 是 通 过 byte和String 来 关 联 。9、 设 a.txt为 当 前 目 录 下 的 一 个 文 本 文 件 , 则 以 字 符 方 式 向 该 文 件 写 数 据 时 , 需 要 建 立 的 输出 流 通 道 为 : newFileWriter(“a.txt”);10. 随 机 访 问 文 件 类 是 RandomAccessFile , 它 实 现 了 与 DataInputStream,DataOutputStream类 同 样 实 现 的 接 口 DataInput,DataOutput.。11 实 现 多 线 程 的 两 种 方 式 是 : 1、 继 承 Thread类 ; 2、 实 现 Runnable 接 口 。12、 取 得 当 前 线 程 的 语 句 是 : Thread.currentThread();13 主 线 程 的 名 称 是 main, 默 认 创 建 的 第 一 个 子 线 程 的 名 称 是 thread-014. 可 以 调 用 Thread 类 的 方 法 getPriority( ) 和 setPriority( ) 来 存 取 线 程 的 优 先 级 , 线 程 的 优 先 级 界 于 1( MIN_PRIORITY) 和 10( MAX_PRIORITY) 之 间 , 缺 省 是 5( NORM_PRIORITY) 。15.(1) 当 多 个 线 程 同 时 运 行 时 , 会 产 生 数 据 错 误 及 其 它 冲 突 问 题 。 Java语 言 提 供 了 线 程 同 步控 制 机 制 , 一 是 锁 定 共 享 资 源 , 使 得 在 任 何 时 刻 只 有 一 个 线 程 能 够 访 问 共 享 资 源 , 以保 持 共 享 资 源 的 完 整 和 一 致 , 二 是 让 互 相 通 信 的 线 程 运 行 , 以 保 证 通 信 的 正 确 性 。( 2) 线 程 之 间 的 通 信 有 两 种 方 法 : 一 是 把 共 享 变 量 和 方 法 封 闭 在 一 个 类 中 , 二 是 利 用 系 统方 法 和 控 制 线 程 通 信 . 实 现 对 共 享 资 源 互 拆 访 问 的 方 法 是 在 方 法 声 明 中 加 入synchronized关 键 字 来 声 明 一 个 访 问 共 享 资 源 的 方 法 , 或 者 通 过 synchronized 关 键 字 来 声 明synchronized 块 。16、 守 护 线 程 一 般 被 用 于 在 后 台 为 其 它 线 程 提 供 服 务 。 调 用 方 法 isDaemon() 来 判 断 一 个线 程 是 否 是 守 护 线 程 , 也 可 以 调 用 方 法 setDaemon()将 一 个 线 程 设 为 守 护 线 程 。17、 InetAddress是 用 于 封 装 IP 地 址 和 DNS的 一 个 类 。 18、 TCP/IP 套 接 字 是 最 可 靠 的 双 向 流 协 议 。 等 待 客 户 端 的 服 务 器 使 用 ServerSocket类 ,而 要 连 接 到 服 务 器 的 客 户 端 则 使 用 Socket类 。19、 包 中 提 供 了 一 个 类 MulticastSocket, 允 许 数 据 报 以 广 播 方 式 发 送 到 该 端 口 的所 有 客 户 。20. 在 TCP/IP 协 议 的 传 输 层 除 了 TCP 协 议 之 外 还 有 一 个 UDP 协 议 。 几 个 标 准 的 应 用 层协 议 HTTP, FTP, SMTP使 用 的 都 是 TCP协 议 。 UDP协 议 主 要 用 于 需 要 很 强 的 实 时 交互 性 的 场 合 , 如 网 络 游 戏 , 视 频 会 议 等21、 当 我 们 得 到 一 个 URL 对 象 后 , 就 可 以 通 过 它 读 取 指 定 的 WWW 资 源 。 这 时 我 们 将 使 用URL的 方 法 openStream(), 其 定 义 为 : InputStream openStream();22、 URL 的 构 造 方 法 都 声 明 抛 弃 非 运 行 时 异 常 MalformedURLException , 因 此 生 成 URL对 象 时 , 我 们 必 须 要 对 这 一 例 外 进 行 处 理 , 通 常 是 用 try-catch 语 句 进 行 捕 获 。23、 一 个 Statement对 象 , 可 以 执 行 多 个 sql语 句 以 后 , 批 量 更 新 。 这 多 个 语 句 可 以 是 delete、update、 insert等 或 兼 有 24、 Java 数 据 库 操 作 基 本 流 程 : 取 得 数 据 库 连 接 、 执 行 sql 语 句 、 处 理 执 行 结 果 、 释 放数 据 库 连 接 。25、 下 列 程 序 的 功 能 是 在 监 控 台 上 每 隔 一 秒 钟 显 示 一 个 字 符 串 “ Hello” ,能 够 填 写 在 程 序中 下 划 线 位 置 , 使 程 序 完 整 并 能 正 确 运 行 的 语 句 是public class Test implements Runnablepublic static void main(String args) Test t=new Test();Thread tt=new Thread(t);tt.start();public void run()for(;)try ;catch( e)System.put.println(“Hello“); 答 : Thread.sleep(1000)InterruptedException三 、 简 答 与 程 序 分 析 、 填 空 、 设 计 题第 一 部 分 : 简 答1、 线 程 的 生 命 期 内 包 括 哪 些 状 态 ?答 : 新 建 状 态 、 就 绪 状 态 、 运 行 状 态 、 阻 塞 状 态 、 死 亡 状 态 见 下 图 : 各 状 态 之 间 的 切 换 关 系死 亡创 建 阻 塞就 绪 运 行 2、 什 么 是 线 程 的 新 建 状 态 ?答 : 线 程 对 象 已 经 创 建 , 还 没 有 在 其 上 调 用 start()方 法 。3、 什 么 是 线 程 的 可 运 行 状 态 ? 答 : 当 线 程 有 资 格 运 行 , 但 调 度 程 序 还 没 有 把 它 选 定 为 运 行 线 程 时 线 程 所 处 的 状 态 。当 start()方 法 调 用 时 , 线 程 首 先 进 入 可 运 行 状 态 。 在 线 程 运 行 之 后 或 者 从 阻 塞 、 等 待 或 睡 眠状 态 回 来 后 , 也 返 回 到 可 运 行 状 态 。4、 什 么 是 线 程 的 死 亡 态 ?答 : 当 线 程 的 run()方 法 完 成 时 就 认 为 它 死 去 。 这 个 线 程 对 象 也 许 是 活 的 , 但 是 , 它 已经 不 是 一 个 单 独 执 行 的 线 程 。 线 程 一 旦 死 亡 , 就 不 能 复 生 。 如 果 在 一 个 死 去 的 线 程 上 调 用start()方 法 , 会 抛 出 java.lang.IllegalThreadStateException异 常 。5、 调 用 join()方 法 有 何 作 用 ?答 : 保 证 当 前 线 程 停 止 执 行 , 直 到 该 线 程 所 加 入 的 线 程 完 成 为 止 。 然 而 , 如 果 它 加 入 的线 程 没 有 存 活 , 则 当 前 线 程 不 需 要 停 止 。 6 现 有 字 符 串 S=”hello,java!”,则 以 此 字 符 串 生 成 待 发 送 DatagramPacket包 dgp 的 语 句 是 :答 : Bytestr=s.getbytes();DatagramPacketdgp=newDatagramPacket(str,str.length(),目 的 主 机 , 目 的 端 口 );7、 介 绍 使 用 javaSocket创 建 客 户 端 Socket的 过 程 。答 : trySocketsocket=newSocket(目 标 主 机 ,目 标 端 口 );catch(IOExceptione)System.out.println(“Error:“+e);8、 介 绍 使 用 javaServerSocket创 建 服 务 器 端 ServerSocket的 过 程 。答 : ServerSocketserver=null;try server=newServerSocket(监 听 端 口 ) ;catch(IOExceptione)System.out.println(“cannotlistento:“+e);Socketsocket=null;trysocket=server.accept();catch(IOExceptione)System.out.println(“Error:“+e);9、 写 出 一 种 使 用 java流 式 套 接 式 编 程 时 , 创 建 双 方 通 信 通 道 的 语 句 。 答 :PrintStreamos=newPrintStream(newBufferedOutputStreem(socket.getOutputStream();DataInputStreamis=newDataInputStream(socket.getInputStream();PrintWriterout=newPrintWriter(socket.getOutStream(),true); BufferedReaderin=newButfferedReader(newInputSteramReader(Socket.getInputStream();10、 对 于 建 立 功 能 齐 全 的 Socket, 其 工 作 过 程 包 含 以 下 四 个 基 本 的 步 骤 :( 1) 创 建 Socket;( 2) 打 开 连 接 到 Socket的 输 入 /出 流 ;( 3) 按 照 一 定 的 协 议 对 Socket进 行 读 /写 操 作 ;( 4) 关 闭 Socket.11、 简 述 基 于 TCP 及 UDP套 接 字 通 信 的 主 要 区 别答 : TCP, 可 靠 , 传 输 大 小 无 限 制 , 但 是 需 要 连 接 建 立 时 间 , 差 错 控 制 开 销 大 。UDP, 不 可 靠 , 差 错 控 制 开 销 较 小 , 传 输 大 小 限 制 在 64K以 下 , 不 需 要 建 立 连 接 。12、 写 出 DatagramSocket的 常 用 构 造 方 法 :答 : DatagramSocket( ) ;DatagramSocket( intprot) ; DatagramSocket(intport,InetAddressladdr)port指 明 socket所 使 用 的 端 口 号 , 如 果 未 指 明 端 口 号 , 则 把 socket连 接 到 本 地 主 机 上一 个 可 用 的 端 口 。 laddr指 明 一 个 可 用 的 本 地 地 址 。13、 介 绍 一 下 DatagramPacket的 常 用 构 造 方 法 :DatagramPacket( bytebuf,intlength) ;DatagramPacket(bytebuf,intlength,InetAddressaddr,intport);DatagramPacket(bytebuf,intoffset,intlength);DatagramPacket(bytebuf,intoffset,intlength,InetAddressaddress,intport);其 中 , buf中 存 放 数 据 报 数 据 , length 为 数 据 报 中 数 据 的 长 度 , addr和 port旨 明 目 的 地址 , offset指 明 了 数 据 报 的 位 移 量 。14、 在 接 收 端 接 收 数 据 报 的 主 要 语 句 : 答 : bytebuf=newbyten;DatagramPacketpacket=newDatagramPacket(buf,n);Socket.receive(packet);15、 写 出 java 程 序 中 用 Statement来 执 行 sql查 询 与 更 新 语 句String sql; /表 示 查 询 或 更 新 的 操 作 语 句 ;Statementsm=cn.createStatement(); /cn表 示 数 据 库 连 接sm.executeQuery(sql);/ 执 行 数 据 查 询 语 句 ( select)sm.executeUpdate(sql);/ 执 行 数 据 更 新 语 句 ( delete、 update、 insert、 drop等 )statement.close();16 什 么 叫 流 ? 流 式 输 入 输 出 有 什 么 特 点 ? 17 Java流 被 分 为 字 节 流 、 字 符 流 两 大 流 类 , 两 者 有 什 么 区 别 ?18 File类 有 哪 些 构 造 函 数 和 常 用 方 法 ?16 答 : 所 谓 流 是 指 同 一 台 计 算 机 或 网 络 中 不 同 计 算 机 之 间 有 序 运 动 着 的 数 据 序 列 , Java把 这 些 不 同 来 源 和 目 标 的 数 据 都 统 一 抽 象 为 数 据 流 。 数 据 流 可 分 为 输 入 流 和 输 出 流 , 输 入 流代 表 从 其 他 设 备 流 入 计 算 机 的 数 据 序 列 , 输 出 流 代 表 从 计 算 机 流 向 外 部 设 备 的 数 据 序 列 。流 式 输 入 输 出 的 特 点 是 数 据 的 获 取 和 发 送 沿 数 据 序 列 的 顺 序 进 行 , 即 每 一 个 数 据 都 必 须 等 待 排 在 它 前 面 的 数 据 , 等 前 面 的 数 据 读 入 或 送 出 之 后 才 能 被 读 写 。 所 以 流 和 队 列 一 样 , 只 能 以“先 进 先 出 ”的 方 式 对 其 中 的 数 据 进 行 读 写 , 而 不 能 随 意 选 择 读 写 的 位 置 。17 答 : 两 者 都 作 为 Object类 的 直 接 子 类 , 基 本 输 入 流 ( InputStream) 和 基 本输 出 流 ( OutputStream) 是 处 理 以 8位 字 节 为 基 本 单 位 的 字 节 流 类 ; Reader和Writer类 是 专 门 处 理 16位 字 符 流 的 类 。18 答 : 构 造 函 数 有 :( 1) publicFile(Stringpathname): 创 建 一 个 对 应 于 参 数 pathname的 File类 对 象 。 参 数 pathname是 包 含 目 录 和 文 件 名 的 字 符 串 。 如 果 没 有 文 件 名 , 则 代 表 目 录 。( 2) public File(String parent , String child): 该 构 造 函 数 将 pathname 分 成 两 部 分 parent 和child, 参 数 parent表 示 目 录 或 文 件 所 在 路 径 , 参 数 child表 示 目 录 或 文 件 名 称 。 ( 3) publicFile(Fileparent,Stringchild): 该 构 造 函 数 与 上 面 一 个 不 同 在 于 将 parent的 参 数 类型 由 String变 为 File, 代 表 parent是 一 个 已 经 创 建 的 File类 文 件 对 象 ( 指 向 目 录 ) 。常 用 方 法 有 :( 1) publicbooleancanWrite(): 返 回 文 件 是 否 可 写 。( 2) publicbooleancanRead(): 返 回 文 件 是 否 可 读 。( 3) publicbooleancreateNewFile(): 当 文 件 不 存 在 时 创 建 文 件 。19 位 置 指 针 的 作 用 是 什 么 ? RandomAccessFile 类 提 供 了 哪 些 方 法 实 现 对 指 针 的 控 制 ?19 答 : 要 实 现 对 文 件 的 随 机 读 取 , 也 就 是 在 文 件 的 任 何 位 置 执 行 读 写 数 据 的 操 作 , 需 要 一个 指 针 来 指 定 读 写 的 位 置 。 在 创 建 RandomAccessFile 类 对 象 的 同 时 , 系 统 自 动 创 建 了 一 个指 向 这 个 文 件 开 头 的 指 针 , 当 执 行 读 写 操 作 后 , 指 针 自 动 指 向 被 读 写 数 据 之 后 的 第 一 个 字 节处 。 指 针 初 始 值 是 0, 每 读 /写 一 个 字 节 , 指 针 自 动 增 加 1。 RandomAccessFile类 提 供 了 一 些控 制 指 针 移 动 的 方 法 。publiclonggetFilePointer();获 取 当 前 指 针 指 向 文 件 的 位 置 。 pulbicvoidseek(longpos);将 指 针 移 动 到 参 数 pos指 定 的 位 置 。publicintskipBytes(intn);指 针 从 当 前 位 置 向 后 移 动 n个 字 节 位 置 , 并 返 回 指 针 实 际 移 动 的 字节 数 。第 二 部 分 : 分 析 程 序 功 能 或 完 成 程 序2、 利 用 文 件 输 入 输 出 流 编 写 一 个 实 现 文 件 拷 贝 的 程 序 , 源 文 件 名 和 目 标 文 件 名 通 过 命 令 行参 数 传 入 。答 :importjava.io.*;classCopyFilepublicstaticvoidmain(Stringargs) Stringfile1,file2;intch=0;tryfile1=args0;file2=args1;FileInputStreamfis=newFileInputStream(file1); FileOutputStreamfos=newFileOutputStream(file2);while(ch=fis.read()!=-1)fos.write(ch);fis.close();fos.close();catch(FileNotFoundExceptione)System.out.println(“源 文 件 :未 找 到 !“);catch(ArrayIndexOutOfBoundsExceptione)System.out.println(“缺 少 运 行 参 数 ! “);System.exit(-1);catch(IOExceptione) System.out.println(e.toString();4、 编 写 一 个 程 序 , 从 键 盘 输 入 一 串 字 符 , 统 计 这 串 字 符 中 英 文 字 母 、 数 字 、 其 他 符 号 的 字符 数 。4 答 :importjava.io.*;publicclassCountpublicstaticvoidmain(Stringargs)intx=0,y=0,z=0; intch;trywhile(ch=System.in.read()!=r)if(ch=Aelsez+;catch(IOExceptione)System.out.println(e.toString(); System.out.println(“英 文 字 母 : “+x);System.out.println(“数 字 字 符 : “+y);System.out.println(“其 它 字 符 : “+z); 5 编 写 一 个 程 序 , 从 键 盘 输 入 一 串 字 符 , 从 屏 幕 输 出 并 将 其 存 入 a.txt文 件 中 。5 答 :importjava.io.*;publicclassInFilepublicstaticvoidmain(Stringargs)intch;tryFileOutputStreamout=newFileOutputStream(“a.txt“);while(ch=System.in.read()!=r)System.out.write(ch);out.write(ch); out.close();System.out.write(n);catch(IOExceptione)System.out.println(e.toString();System.out.println(“输 出 至 文 件 完 毕 ! “);8、 下 列 程 序 向 屏 幕 输 出 文 本 文 件 内 容 : 请 完 成 所 缺 少 的 代 码importjava.io.*;class readtxt publicstaticvoidmain(Stringargs)tryFileReaderf1=newFileReader(“u.txt“);BufferedReaderbf1=newBufferedReader(f1);Stringline;line=bf1.readLine();while(line!=null) /判 断 所 读 的 一 行 内 容 是 否 为 空 ;System.out.println(line);line=bf1.readLine(); /继 续 读 入 下 一 行 bf1.close(); /关 闭 文 件 的 输 入 流 ;catch(IOExceptione) e.printStackTrace(); 10、 请 编 写 java 程 序 , 访 问 所 在 的 主 页 文 件答 : publicclassURLReaderpublicstaticvoidmain(Stringargs)throwsException /声 明 抛 出 所 有 例 外URLtirc=newURL(“/“);/构 建 一 URL对 象BufferedReaderin=newBufferedReader(newInputStreamReader(tirc.openStream();/使 用 openStream得 到 一 输 入 流 并 由 此 构 造 一 个 BufferedReader对 象StringinputLine;while(inputLine=in.readLine()!=null) /从 输 入 流 不 断 的 读 数 据 , 直 到 读 完 为 止System.out.println(inputLine);/把 读 入 的 数 据 打 印 到 屏 幕 上in.close();/关 闭 输 入 流 11、 从 键 盘 上 输 入 主 机 名 称 , 编 写 类 似 ping的 程 序 , 测 试 连 接 效 果 。.*;importjava.io.*;classPingpublicstaticvoidmain(Stringargs) System.out.println(“请 输 入 ping主 机 名 称 或 地 址 : n“);tryStringhost=keyreadline();InetAddressip=InetAddress.getByName(host); longt1=System.currentTimeMillis();if(ip.isReachable(5000)longt2=System.currentTimeMillis();System.out.println(“nReplyfrom“ +ip.getHostAddress()+“ time=“+(t2-t1)+“ms“);System.out.println();elseSystem.out.println(“Requesttimedout.“);catch(IOExceptione)System.out.println(“Requesttimedout.“);privatestaticStringkeyreadline() BufferedReaderbr=newBufferedReader

温馨提示

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

评论

0/150

提交评论