第11章输入输出流、文件及数据库_第1页
第11章输入输出流、文件及数据库_第2页
第11章输入输出流、文件及数据库_第3页
第11章输入输出流、文件及数据库_第4页
第11章输入输出流、文件及数据库_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1 第11章输入输出流 文件及数据库 主要内容输入输出流文件数据库 DataBase 本讲小结 2 输入输出流 输入输出流 Stream 即是计算机中数据的流动 Java处理输入输出流方式字节 byte 方式字符 character 方式字节流字节输入流字节输出流字符流字符输入流字符输出流 3 字节输入流 InputStream InputStream是字节输入流的顶层类 是一个抽象类 常用方法abstractintread 从流中读取一个字节 整数0 255 intread byte b 从流中读取字节放入字节数组b中并返回实际读取的字节数 intread byte b intoff intlen 从流中读取len个字节存入数组b从off开始的位置中 并返回实际读取的字节数 longskip longn 从流中当前的位置跳过n个字节 intavailable 返回可以从流中读取的字节数 voidclose 关闭输入流 voidmark intn 在流中当前位置处做一个标记 如果在做了标记之后又从流中读取了超过n个字节 则标记无效 voidreset 将读取位置返回到标记的位置 booleanmarkSupported 测试该流是否支持标记 注意 读取字节流的方法都引入了异常处理 如果遇到读错误 将抛出异常 4 字节输入流 DataInputStream 数据输入流允许应用程序以与机器无关方式从基础输入流中读取基本Java数据类型的数据 构造方法DataInputStream InputStreamin 使用in对象创建对象 常用方法intreadUnsignedByte 以无符号字节数方式读流中的数据 intreadUnsignedShort 以无符号短整数方式读流中数据 StringreadUTF 以UTF 8数据格式读取流中的数据 staticStringreadUTF DataInputin 以UTF 8数据格式读取由in指定流中的数据 intskipBytes intn 跳读n个字节 datatypereaddatatype datatype为八种基本数据之一 程序示例1 5 字节输入流 FileInputStream 构造方法FileInputStream Filefile 以file文件对象创建输入流 FileInputStream FileDescriptorfd 以fd文件描述符对象创建输入流 FileInputStream Stringname 以name指定的文件名创建输入流 常用方法 FileChannelgetChannel 获得与文件输入流相连接的唯一的FileChannel对象 FileDescriptorgetFD 获得与文件输入流相连接的文件描述符对象 程序示例12 2 6 字节输出流 OutputStream是字节输出流的顶层类 是一个抽象类 常用方法abstractvoidwrite intb 将b的低位字节写入到输出流 voidwrite byte b 把字节数组b写入输出流 voidwrite byte b intoff intlen 把字节数组b中从off位置开始的len个字节写入输出流 voidflush 立即将流缓冲区中的数据输出 voidclose 关闭输出流 注意 与InputStream类似 写入字节流的方法也都引入了异常处理 如果遇到写错误 将抛出一个IOException异常 7 字节输出流 DataOutputStream 构造方法DataOutputStream OutputStreamout 创建以out对象为输出实体的对象 常用方法voidwritedataType dataTypev dataType为八种基本类型之一 将基本数据写入流中 intsize 返回当前已写入流中的字节计数 voidwriteChars Strings 将字符串s写入到流中 voidwriteUTF Stringstr 将字符串str以UTF 8格式写入到流中 程序示例3 8 字节输出流 FileOutputStream 构造方法FileOutputStream Filefile 以file文件对象创建输出流 FileOutputStream Filefile booleanappend 如果append为true 则数据被添加到文件的尾部 否则将重写文件 FileOutputStream FileDescriptorfd 以fd描述符对象创建输出流 FileOutputStream Stringname 以name指定的文件创建输出流 FileOutputStream Stringname booleanappend 以name指定的文件名创建文件输出流 append的作用如上所述 常用方法 FileChannelgetChannel 获得唯一的与该文件输出流相连接的FileChannel对象 FileDescriptorgetFD 获得与该输出流相连接的文件描述符对象 程序示例4 9 字符输入流 Reader类是一个抽象类 是字符输入流的顶层类 常用方法intread 从流中读取一字符并将它作为int值返回 intread char cbuf 从流中读取字符放入cbuf中 返回读的字符数 abstractintread char cbuf intoff intlen 从流中读取len个字符放入cbuf中从off位置开始的元素中 longskip longn 跳过流中n个字符并返回跳过的字符数 booleanready 测试该流是否已准备好可以读取 booleanmarkSupported 测试该流是否可标记的 voidmark intn 在流中标记当前位置 n指定在不失当前标记情况下允许读取的最大字符数 voidreset 将流的读取定位到标记位置 如果没有标记 则定位到流的开始位置 abstractvoidclose 关闭字符输入流 10 字符输入流 BufferReader构造方法及常用方法BufferedReader Readerin 创建系统默认大小的缓冲字符流 BufferedReader Readerin intsize 创建由size指定大小的缓冲字符流 StringreadLine 读取一行文本 InputStreamReader构造方法及方法InputStreamReader InputStreamin 使用系统默认的字符集构建输入流 InputStreamReader InputStreamin Charsetcs 使用cs指定的字符集构建输入流 InputStreamReader InputStreamin Stringname 使用name表示的字符集构建输入流 StringgetEncoding 返回字符编码的名字 11 字符输入流 FileReader FileReader类是InputStreamReader的派生类 它的构造方法如下 FileReader Filefile 以file指定的文件创建文件输入流 FileReader FileDescriptorfd 以fd文件描述符指定的文件创建文件输入流 FileReader StringfileName 以字符串fileName表示的文件创建文件输入流 FileReader类继承父类的方法 自身没有定义方法 程序示例5 12 字符输出流 Writer Writer是字符输出流的顶层类 是一个抽象类 常用方法如下 voidwrite intc 将整数c后两个字节的值表示的一个字符写入流中 voidwrite char cbuf 将字符数组cbuf的内容写入流中 abstractvoidwrite char cbuf intoff intlen 将数组cbuf中从off位置开始的len个字符写入流中 voidwrite Stringstr 将字符串str写入流中 voidwrite Stringstr intoff intlen 将字符串str中从off位置开始的len个字符写入流中 abstractvoidflush 将流缓冲区中的内容立即输出 abstractvoidclose 关闭流 13 字符输出流 BufferedWriter的构造方法及方法BufferedWriter Writerout 以默认的缓冲大小创建字符输出流 BufferedWriter Writerout intsize 以size指定的缓冲大小创建字符输出流 voidnewLine 写入一个行分隔符OutputStreamWriter类构造方法及方法OutputStreamWriter OutputStreamout 以默认的字符编码创建输出流 OutputStreamWriter OutputStreamout Charsetcs 以cs指定的字符集创建输出流 OutputStreamWriter OutputStreamout Stringname 以name指定的字符集创建输出流 StringgetEncoding 获得字符编码名 14 字符输出流 FileWriter FileWriter是OutputStreamWriter的派生类 它继承了父类的所有功能 自身没有定义新方法 其构造方法如下 FileWriter Filefile 以文件对象file构建输出流 FileWriter Filefile booleanappend 若append为true 在流的尾部添加数据 否则在流的开头重写数据 FileWriter FileDescriptorfd 以文件描述符fd关联的文件构建输出流 FileWriter Stringname 以name表示的文件构建输出流 FileWriter Stringname booleanappend 以name表示的文件构建输出流 若append为true 在流的尾部添加数据 否则在流的开头重写数据 15 文件 File 常用构造方法File Stringpathname 用pathname指定路径 可以是绝对路径也可以是相对路径 创建File对象 File Stringparent Stringchild 用parent指定的父路径和child指定的子路径创建对象 File URIuri 以uri 统一资源标识符 创建对象 常用方法booleancreateNewFile 利用当前对象定义的路径名建立新文件 booleanmkdir 利用当前对象指定的路径生成一个目录 booleanmkdirs 生成由当前对象表示的目录 包括所需的父目录 booleandelete 删除由当前对象表示的文件或目录 空目录 voiddeleteOnExit 当程序结束时删除当前对象表示文件或目录 booleanrenameTo Filedest 由dest替代当前对象表示的文件 booleansetReadOnly 把当前对象表示的文件设置为只读 longlength 获得对象引用的文件的字节长度 若是一个目录 返回0值 String list 如果当前对象是目录 则将该目录下的成员名放入数组中并返回 File listFiles 若当前对象是目录 则以目录下的成员生成对象放入数组中 staticFile listRoots 以根目录下的成员生成File对象放入数组中并返回 16 文件对话框 FileDialog 常用构造方法FileDialog Frameparent 依附于parent窗口创建文件对话框 FileDialog Frameparent Stringtitle 依附于parent窗口以title为标题创建对象 FileDialog Frameparent Stringtitle intmode 创建文件对话框 其中mode指定对话框的方式 可以取如下类常数 FileDialog LOAD表示打开文件对话框 FileDialog SAVE表示保存文件对话框 对象常用方法publicStringgetDirectory 获取文件对话框中所显示对象的目录 publicvoidsetDirectory Stringdir 将dir指定的目录设置为对话框中显示的目录 publicStirnggetFile 获取对话框中选定的文件的名称 publicvoidsetFile Stringfile 将file指定的文件设置为对话框中默认选定文件 17 示例 当单击 编辑文件 按钮时 显示打开文件对话框 选择要编辑的文件 并将选中的文件装入多行文本框供查看和编辑 当单击 保存文件 按钮时 显示保存文件对话框 指定文件的名字 便将文本框中的内容保存到指定的文件中 一旦选中或指定了文件 就在标签中显示该文件名 参考程序 18 数据库 DataBase 与JDBC技术 JDBC JavaDataBaseConnectivity 是一套访问数据库的接口 它为数据库应用的开发人员提供了一组用于执行SQL语句操作数据库的标准API ODBC OpenDataBaseConnectivity 开放式数据库连接 19 数据表 20 SQL简介 SQL 结构化查询语言 是国际公认的关系数据库访问的官方标准 数据库制造商都会遵循此标准的规范 下边介绍常用的主要语句 建立数据表CREATETABLE或ALTERTABLE语句例 建立一个学生登录表 CREATETABLEstudent login 学号CHAR 11 NOTNULLPRIMARYKEY 姓名CHAR 10 出生年月CHAR 10 性别CHAR 2 入学成绩INT 备注CHAR 254 其中 学号是索引主键 创建记录时不能为空 使用索引主键的目的一是查找快 二是在创建过程中不允许重复的学号记录进入表中 21 插入记录INSERTINTO VALUES语句 INSERTINTO数据表名 字段名表 VALUES 字段值列表 例如 INSERTINTOstudent loginVALUES 20060232101 章三 1989 1 2 男 615 没有指定字段名 值的插入顺序必须是字段的顺序 INSERTINTOstudent login 学号 姓名 性别 入学成绩 VALUES 20060232102 李思 女 623 语句指定了字段名 这就要求指定的字段和插入的值一一对应 注意 在一条记录中不论插入几项 指定的顺序如何 都必须包括主键项学号 否则系统将抛出错误 插入失败 22 检索记录信息SELECT FROM WHERE语句 SELECT字段名列表FROM数据表名 WHERE检索条件 例如 SELECT FROMstudent login列出表中所有学生的所有字段的值 SELECT学号 姓名 入学成绩FROMstudent login列出表中所有学生的学号 姓名及入学成绩 SELECT FROMstudent loginWHERE入学成绩 630列出表中满足入学成绩 630条件的所有学生的信息 23 修改记录的值UPDATE SET WHERE语句 UPDATE数据表名SET字段名1 值1 字段名n 值nWHERE修改条件例如 UPDATEstudent loginSET出生年月 1990 1 23 WHERE学号 20060232102 将学号为20060232102学生的出生年月修改1990 1 23UPDATEstudent loginSET性别 男 入学成绩 625WHERE学号 20060232105 将学号为20060232105学生的性别修改为男 入学成绩修改为625 24 删除记录DELETE FROM WHERE语句 DELETEFROM数据表名WHERE删除条件例如 DELETEFROMstudent loginWHERE学号 20060232108 删除表中学号为20060232108的学生的纪录 DELETEFROMstudent loginWHERE入学成绩 500删除表中入学成绩小于500分的学生纪录 25 访问数据库相关的类 对象及接口 使用JDBC ODBC桥接加ODBC驱动器的方式与数据库连接 装入数据源驱动程序 Class forName 方法 Class forName sun jdbc odbc JdbcOdbcDriver 数据库驱动程序管理器类 DriverManager 该类提供了在用户程序和数据库系统之间进行数据库与驱动程序之间的连接的功能 常用的方法如下 staticvoidderegisterDriver Driverdriver 为数据库驱动程序管理器注册新的数据库驱动程序 staticConnectiongetConnection Stringurl Stringuser Stringpassword 创建连接对象 建立与url指定的数据源的连接 并指定了使用该数据源的用户及口令 staticDrivegetDriver Stringurl 获取url指定的驱动程序 26 Connection接口 Connection接口支持应用程序与数据库之间的会话过程 能够向连接

温馨提示

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

最新文档

评论

0/150

提交评论