Java基础教程(第2版) 教学课件 ppt 作者 978-7-302-28331-7B08输入输出及数据库操作

上传人:w****i 文档编号:94407433 上传时间:2019-08-06 格式:PPT 页数:79 大小:666KB
返回 下载 相关 举报
Java基础教程(第2版) 教学课件 ppt 作者 978-7-302-28331-7B08输入输出及数据库操作_第1页
第1页 / 共79页
Java基础教程(第2版) 教学课件 ppt 作者 978-7-302-28331-7B08输入输出及数据库操作_第2页
第2页 / 共79页
Java基础教程(第2版) 教学课件 ppt 作者 978-7-302-28331-7B08输入输出及数据库操作_第3页
第3页 / 共79页
Java基础教程(第2版) 教学课件 ppt 作者 978-7-302-28331-7B08输入输出及数据库操作_第4页
第4页 / 共79页
Java基础教程(第2版) 教学课件 ppt 作者 978-7-302-28331-7B08输入输出及数据库操作_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《Java基础教程(第2版) 教学课件 ppt 作者 978-7-302-28331-7B08输入输出及数据库操作》由会员分享,可在线阅读,更多相关《Java基础教程(第2版) 教学课件 ppt 作者 978-7-302-28331-7B08输入输出及数据库操作(79页珍藏版)》请在金锄头文库上搜索。

1、第8章 输入输出及数据库操作,8.1 输入和输出 8.2 数据库操作,8.1 输入和输出,8.1.1 流的含义 8.1.2 流的层次结构 8.1.3 标准输入输出 8.1.4 File类 8.1.5 FileInputStream类和FileOutputStream类 8.1.6 DataInputStream类和DataOutputStream类 8.1.7 随机访问文件 8.1.8 Reader类和Writer类 8.1.9 IOException类的几个子类,8.1.1 流的含义,流 是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或

2、是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样,如下图7-1:,图7-1 流,8.1.1 流的含义,数据流是指一组有顺序的、有起点的和终点的字节集合 Java将读取数据的对象称为输入流;能向其写入数据的对象称为输出流。 字节流,被称作输入流(Input stream)或输出流(Output stream),基于数据的I/O是二进制(比如说表示图像的位图) 字符流,被称作Reader或Writer,基于文本的I/O都是一些人们能够阅读的字符(比如说程序的源代码,字符流,8.1.1 流的含义,InputStream,Outp

3、utStream,Reader,Writer是四个抽象类。Java中其他多种多样变化的流均是由它们派生出来的。在这四个抽象类中,InputStream和Reader定义了完全相同的接口: int read() int read(char cbuf) int read(char cbuf, int offset, int length) 而OutputStream和Writer也是如此: int write(int c) int write(char cbuf) int write(char cbuf, int offset, int length),8.1.2 流的层次结构,InputStre

4、am和OutputStream流层次结构如图7-2和图7-3所示 Reader和Writer流层次结构如图7-4和图7-5所示,图7-2 InputStream输入流层次结构,图7-3 OutputStream输出流层次结构,图7-4 Reader流层次结构,Reader,图7-5 Writer流层次结构,Writer,8.1.3 标准输入输出,标准输入输出都是System类中定义的类成员变量,包括: System.in:代表标准输入流,默认状态对应于键盘输入。 System.out:代表标准输出流,默认状态对应于屏幕输出。 System.err:代表标准错误输出流,默认状态对应于屏幕输出。,

5、【实例8-1】 import java.io.*; class stdIOExample1 public static void main(String args) throws IOException int ch; int count = 0; System.out.println(“请输入字符(当输入0时退出!)“); while (char)(ch = System.in.read() != 0) /输入字符 count+; System.out.print(char)ch); /输出字符 System.out.println(); System.err.println(“counte

6、d “ + count + “ total bytes.“); 说明:在本实例中,利用System.in.read()不断从键盘输入字符,并在显示屏输出,count用于累计输入字符个数,当输入字符为0时,输入终止。,8.1.4 File类,含义: File类与InputStream / OutputStream类同属于一个包,它不允许访问文件内容。File类主要用于命名文件、查询文件属性和处理文件目录。 1File类的构造方法 public File(String name):指定与File对象关联的文件或目录的名称,name可以包含路径信息及文件或目录名。 例如: File myFile;

7、MyFile= new File(“D:WUabc.txt”),8.1.4 File类,1File类的构造方法 public File(String pathName,String name):使用参数pathName(绝对路径或相对路径)来定位参数name所指定的文件或目录。 例如: File myFile; MyFile= new File(“D:WU”,“abc.txt”);,8.1.4 File类,1File类的构造方法 public File(File directory,String name):使用现有的File对象directory(绝对路径或相对路径)来定位参数name所指定

8、的文件或目录。 例如: File myDir=new File(“D:WU”); MyFile= new File(myDir,“abc.txt”); public File(URI rui):使用给定的同一资源定位符来定位文件。,8.1.4 File类,2File类常见方法 String getName(); 得到一个文件的名称(不包括路径) String getPath(); 得到一个文件的路径名 String getAbsolutePath(); 得到一个文件的绝对路径名 String getParent(); 得到一个文件的上一级目录名 String renameTo(FilenewN

9、ame); 将当前文件名更名为给定文件的完整路径 booleanexists(); 测试当前File对象所指示的文件是否存在 booleancanWrite(); 测试当前文件是否可写 booleancanRead(); 测试当前文件是否可读,8.1.4 File类,2File类常见方法 boolean isFile(); 测试当前文件是否是文件(不是目录) boolean isDirectory(); 测试当前文件是否是目录 longlastModified(); 得到文件最近一次修改的时间 longlength(); 得到文件的长度,以字节为单位 booleandelete(); 删除当前

10、文件 booleanmkdir(); 根据当前对象生成一个由该对象指定的路径 Stringlist(); 列出当前目录下的文件,【实例8-3】 import java.io.*; public class fileTest void listAttributes(String fileName) File f=new File(fileName); if( f.exists( ) ) System.out.println(“Attributes of “+fileName); System.out.println(“Exist: “+f.exists(); System.out.println

11、(“Can read: “+f.canRead(); System.out.println(“Can write: “+f.canWrite(); System.out.println(“Is file: “+f.isFile(); System.out.println(“Is director: “+f.isDirectory(); System.out.println(“Is absolute path: “+f.isAbsolute(); else System.out.println(fileName+“ does not exist!“); ,【实例8-3】 public stati

12、c void main(String args ) if(args.length!=1) System.out.println(“Usage: java fileTest “); System.exit(1); fileTest obj=new fileTest ( ); obj.listAttributes(args0); ,编译完毕后,按照如下方式运行: g:java01java fileTest fileTest.java 则得到如下结果: Attributes of fileTest.java Exist: true Can read: true Can write: true Is

13、file: true Is director: false Is absolute path: false,8.1.5 FileInputStream类和FileOutputStream类,1FileInputStream类 FileInputStream典型地表示一种顺序访问的文本文件,可以访问文件的一个字节、几个字节或整个文件。 基本步骤: 步骤一:利用FileInputStream打开文件。 FileInputStream myFileStream; myFileStream= new FileInputStream(“D:WU”,“abc.txt”) 或者 File myFile; F

14、ileInputStream myFileStream; myFile= new File(“D:WUabc.txt”) myFileStream= new FileInputStream(myFile),8.1.5 FileInputStream类和FileOutputStream类,1FileInputStream类 步骤二:使用方法read()读取信息。 int read() int read(byte input) int read(byte input,int offset,int length) 步骤三:读取完毕后要关闭FileInputStream对象。 myFileStream

15、.close(),8.1.5 FileInputStream类和FileOutputStream类,1FileInputStream类 FileInputStream类常用方法: public abstract int read( ) public int read(byte b ) public int read(byte b , int off, int len) 。 public int available( ) public long skip(long n) public int close( ),【实例8-4】 import java.io.*; public class File

16、InputStreamExample public static void main(String args) throws IOException String fname=“FileInputStreamExample.java“; try FileInputStream rf = new FileInputStream(fname); int n=16; byte buffer = new byten; while (rf.read(buffer,0,n)!=-1) ,【实例8-4】 System.out.println(); rf.close(); /关闭输入流 catch (IOException ioe) System.out.println(ioe); catch (Exception e) System.out.prin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号