版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章 Java输入输出与数据库操作,本章将介绍Java的输入输出、数据库操作;包括文件读写、写入、访问等操作;并介绍了利用JDBC访问数据库的操作。,8.1 流概述,流是Java语言中,用来处理I/O(输入/输出)的方式。采用流的方式,使得程序员在处理不同的数据或数据存储时,更加的方便、鲜明和统一。由于文件是计算机用来保存大量数据的地方,因此,对应不同的数据类型,程序员可以采用不同类型的流,读取文件的内容或是向文件中写入数据。 本章中,将会介绍Java中用来操作文件和目录的方法,以及对文件进行读写操作的方法。同任何其他编程语言一样,Java语言具备强大的文件处理功能。通过流,程序员可以把数据
2、从一个地方带到另一个地方。,8.1.1 流的定义,流,顾名思义是传递数据信息的载体,是程序中的数据所经历的路径。当然流分为输入流和输出流两大部分。输入流是将数据从数据源传递给程序;而输出流则是将数据从程序送到期望的地方比如:内存、文件等。,8.1.2 输入输出类结构,Java的I/O流库提供了大量的流类,均包含在java.io包中。所有的输入流类都是InputStream(输入流)抽象类的子类,而所有的输出流都是OutputStream(输出流)抽象类的子类。,8.2 一个读取文件的简单实例,下面的示例中从磁盘上“C: java测试及练习”文件夹下,读取“aaa.txt”文件中的内容,并按数组
3、中的位置,来分别显示每个字符在数组中的信息,包括:位置、对应ASCII码、字符。,8.3 文件类(File)的使用,File类是主要用于获取磁盘中文件,或者目录信息的一个类。但需要注意的是:File类的对象并不打开文件,也不提供任何的文件处理的功能。但是java.io包中的其他类,经常会使用File类中的对象,来指定所要操作的文件或目录。,8.3.1 获取指定文件的描述信息,下面的示例中利用文件类的部分方法,来获取指定文件 “C: java测试及练习aaa.txt”的信息,并显示在屏幕上。,8.3.2 创建新文件,下面的示例中使用File类中的createNewFile()方法,在默认的当前目
4、录“C: java测试及练习”下创建新的文件。,8.3.3 文件改名及文件删除,下面的示例中使用File类中的renameTo()方法,在默认的当前目录“C: java测试及练习”下,修改指定文件“abc.txt”的文件名。,8.3.4 获取指定文件目录下的所有文件,下面的示例中使用File类中的list()方法,来返回一个字符串数组,用来获取该File对象包含的文件以及子目录的名字,如果File的对象并不是一个目录,则会返回null。,8.4 读取文件,在之前的两节中,已经介绍了一些关于文件读取的例子,在这个基础上,再详细介绍一下关于文件的读取,以及操作。,8.4.1 示例读取文件并显示,下
5、面的示例中使用FileDialog类的对象,来实现使用文件对话框打开文件,同时把所选择的文件的内容显示在一个文本区内。,8.4.1 示例读取文件并显示,8.4.2 读取文件的分类及所涉及到的类,在Java中,输入流包括InputStream类和Reader类。InputStream是用于面向字节的流,例如处理二进制文件时使用。而Reader类则是用于面向字符的流,可以用于处理用ASCII字符集,或Unicode表示的文本,例如在处理纯文本文件、HTML文档和Java源代码文件时使用。因此对于所有的文本输入,都应该使用字符流来实现,而不能用字节流来处理。在实际的编程中,一般不直接使用这两个类,而
6、是使用从这几个类中派生出的新类。,8.5 写入文件,在这一部分,主要是介绍关于数据的写入。利用输出流来指定数据的去向,从而将数据信息写入到指定的文件当中。,8.5.1 示例将输入的文本保存到文件,下面的示例中首先利用File方法创建一个新的.txt文件,之后使用FileWriter类实现对文件的写入。,8.5.1 示例将输入的文本保存到文件,8.5.2 写入文件的分类及所涉及到的类,在本节中主要介绍输出流。输出流包括欧OutputStream类和Writer类。OutputStream同样是用于面向字节的流。而Writer类则是用于面向字符的流,可以用于处理用ASCII字符集,或Unicode
7、表示的文本。,8.5.3 写入文件Writer类的基本方法,写入文件Writer类的基本方法。,8.6 随机访问文件,除了之前介绍的对文件操作的流以外,Java还提供了用来专门处理文件的流,并称之为随机访问文件RandomAccessFile流。该流提供了更加完善的、对文件输入输出操作的功能。当需要严格地处理文件时,就可以选择使用RandomAccessFile类。但需要注意的是,与之前文件流不同,RandomAccessFile类创建的流既可以表示数据文件的源,也可以表示数据文件的目的。也就是说,RandomAccessFile类创建的流既可作为输入流,也可以同时作为输出流。,8.6.1 R
8、andomAccessFile流的构造及内部方法,RandomAccessFile类构造器及方法。,8.6.2 示例使用随机访问文件流来对文件进行读写,下面的示例中利用随机访问文件流RandomAccessFile,来实现对文件的读写操作,在这个过程中,对应不同的数据类型,则会有相应的读和写文件的方法。,8.7 创建压缩文件,使用Java语言创建压缩文件,是利用zip文件流来实现的。zip文件是一种特殊的文件,它包含了一个或多个文件,通常采用压缩的格式来存储数据。,8.7.1 ZipFile文件压缩类概述,在Java中主要是利用ZipEntry、ZipInputStream和ZipOutput
9、Stream三个Java类,来实现Zip数据压缩方式的编程方法。Zp压缩文件结构是:一个Zip文件由多个entry组成,每个entry有一个唯一的名称,entry的数据项存储压缩数据。,8.7.2 实现数据文件Zip方式的压缩方法,下面的示例中实现了数据文件Zip方式的压缩方法。randomData()函数随机生成50个double数据,并存放在doc字符串变量中;openFile()函数读取Zip压缩文件;saveFile()函数将随机生成的数据存到Zip格式的压缩文件中。,8.7.3 将.class文件打包成jar文件,Java语言允许把所有需要的类文件(.class文件),打包成一个单一
10、的文件。这个单一的文件被称为Java存档文件(JAR)。JAR文件可以包括类文件和其他类型的文件,例如:图像和声音文件。JAR文件是一种Zip格式压缩文件。 下面使用jar工具来制作JAR文件(它位于“jdk文件/bin”目录下)。要制作一个JAR文件,常用的命令格式为:jar options File1 File2 。,8.8 数据库操作,数据库是存储数据信息的中心,是一个有组织的数据集合。而Java作为一门高级语言,能够方便的操作数据库。在本章中,将要向大家介绍如何使用Java语言连接数据,以及操作数据库中的数据。,8.8.1 使用JDBC连接数据库,JDBC(Java Database
11、Connectivity)是一种可以执行SQL语句的Java API。JDBC由Java编程语言编写的类及接口组成,使用它可以将Java程序连接到Oracle、SQL Server、Sybase、IBM DB2、Informix、MySQL等多种关系型数据库。程序员通过JDBC可以编写出具有平台无关性的数据库应用程序。 1JDBC的作用及主要接口 2连接不同数据库 3连接数据库的基本步骤,8.8.2 执行SQL语句,在实际的使用当中,会有三种Statement对象,分别是:Statement对象、PreparedStatement对象以及CallableStatement对象。这三种对象都可以作为执行SQL语句的容器。每一个都专用于发送特定类型的SQL语句,如下所示。 Statement对象:用于执行不带参数的简单SQL语句。 PreparedStatement对象:用于执行带参数或不带参数的预编译的SQL语句。 CallableStatement对象:用于执行对数据库已存储过程的调用。 1如何使用PreparedSt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外研八下英语Unit 5 Starting out-Understanding ideas《合作探究二》课件
- (新教材)2026人教版二年级下册数学 练一练(P76-77) 课件
- 2026年老年结婚合同(1篇)
- 2025 高中信息技术数据结构在智能家居场景感知数据处理中的应用课件
- 2026年项目变更增加合同(1篇)
- 2026年离婚迁户合同(1篇)
- 精神病专科医院建设项目可行性研究报告
- 信息技术对企业财务报告和内部控制的影响
- 2026年及未来5年市场数据中国液油气行业市场全景监测及投资战略咨询报告
- 2026年及未来5年市场数据中国物流金融行业市场深度评估及投资前景预测报告
- 2026年常州纺织服装职业技术学院单招综合素质考试题库带答案详解(b卷)
- 潍坊宠物行业分析报告
- 2025-2026学年川教版四年级下册信息科技全册(教学设计)教案
- 2026年检察院聘用制书记员招聘笔试试题(含答案)
- (2026年)胸痛之主动脉夹层患者的处置课件
- 2026年六安职业技术学院单招职业适应性测试题库附答案详解(综合题)
- 2026年春期人音版四年级下册音乐教学计划及进度表
- 山东省社会团体财务制度
- 海康威视AI布局
- 监护仪无创血压袖带松紧度质控标准
- 2026年安徽单招试题真题及答案1套
评论
0/150
提交评论