B08输入输出及数据库操作教学课件.pptx
《B08输入输出及数据库操作教学课件.pptx》由会员分享,可在线阅读,更多相关《B08输入输出及数据库操作教学课件.pptx(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、就会开启一个通向数据源的流,这个数据源可以是文就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中你就可以想象数据好像在这其中“流流”动一样,动一样,如下如下图图8-18-1:图8-1 流8.1.1 流的含义流的含义数据流是指一组有顺序的、有起点的和终点的字节集合Java将读取数据的对象称为输入流;能向其写入数据的对象称为输出流。字节流,被称作输入流(Input stream)或输出流(Ou
3、tput stream),基于数据的I/O是二进制(比如说表示图像的位图)字符流,被称作Reader或Writer,基于文本的I/O都是一些人们能够阅读的字符(比如说程序的源代码,字符流8.1.1 流的含义流的含义InputStream,OutputStream,Reader,Writer是四个抽象类。Java中其他多种多样变化的流均是由它们派生出来的。在这四个抽象类中,InputStream和Reader定义了完全相同的接口:int readint read()()int readint read(char cbufchar cbuf)int readint read(char cbuf,
4、int offset, int lengthchar cbuf, int offset, int length)而而OutputStreamOutputStream和和WriterWriter也是如此:也是如此:int writeint write(int cint c)int writeint write(char cbufchar cbuf)int writeint write(char cbuf, int offset, int lengthchar cbuf, int offset, int length)8.1.2 流的层次结构流的层次结构InputStream和OutputStre
5、am流层次结构如图8-2和图8-3所示Reader和Writer流层次结构如图8-4和图8-5所示图8-2 InputStream输入流层次结构StringBufferInputStream字符串缓冲区输入流ByteArrayInputStream字节数组输入流FileInputStream文件输入流FilterInputStream过滤器输入流PipedInputStream管道输入流SequenceInputStream顺序输入流ObjectInputStream对象输入流BufferInputStream带缓冲区输入流PushbackInputStream回退输入流LineNumberI
6、nputStream行号输入流DataInputStream数据输入流InputStream输入流图8-3 OutputStream输出流层次结构ByteArrayOutputStream字节数组输出流FileOutputStream文件输出流FilterOutputStream过滤器输出流PipedOutputStream管道输出流ObjectOutputStream对象输出流BufferOutputStream带缓冲区输出流PrintStream回退输出流DataOutputStream数据输出流OutputStream输出流图8-4 Reader流层次结构BufferReaderRead
7、erCharArrayReaderInputStreamReaderFilterReaderPipedReaderStringReaderLineNumberReaderFileReaderPushbackrReader图8-5 Writer流层次结构Buffer WriterWriterCharArray WriterOutputStream WriterFilter WriterPiped WriterString WriterFileWriter8.1.3 标准输入输出标准输入输出标准输入输出都是System类中定义的类成员变量,包括:System.inSystem.in:代表标准输入流
8、:代表标准输入流, ,默认状态对应于键盘输默认状态对应于键盘输入。入。System.outSystem.out:代表标准输出流:代表标准输出流, ,默认状态对应于屏幕输默认状态对应于屏幕输出。出。System.errSystem.err:代表标准错误输出流,默认状态对应于:代表标准错误输出流,默认状态对应于屏幕输出。屏幕输出。【实例8-1】1.1. import java.io.import java.io.* *; ;2.2. class stdIOExample1class stdIOExample1 3.3. public static void main(String args) th
9、rows IOException public static void main(String args) throws IOException 4.4. int ch; int ch;5.5. int count = 0; int count = 0;6.6. System.out.println( System.out.println(请输入字符(当输入请输入字符(当输入0 0时退出!)时退出!)););7.7. while (char)(ch = System.in.read() != 0) while (char)(ch = System.in.read() != 0) / /输入字输
10、入字符符8.8. count+; System.out.print(char)ch); count+; System.out.print(char)ch); / /输出字符输出字符9.9. 10.10. System.out.println(); System.out.println();11.11. System.err.println(counted + count + total bytes.); System.err.println(counted + count + total bytes.);12.12. 13.13. 说明:在本实例中,利用System.in.read()不断从键
11、盘输入字符,并在显示屏输出,count用于累计输入字符个数,当输入字符为0时,输入终止。8.1.4 File类类含义:FileFile类与类与InputStream / OutputStreamInputStream / OutputStream类同属于一个包,它不允类同属于一个包,它不允许访问文件内容。许访问文件内容。FileFile类主要用于命名文件、查询文件属性和处类主要用于命名文件、查询文件属性和处理文件目录。理文件目录。1File类的构造方法public File(String name)public File(String name):指定与:指定与FileFile对象关联的文件或
12、目录对象关联的文件或目录的名称,的名称,namename可以包含路径信息及文件或目录名。可以包含路径信息及文件或目录名。例如:例如:File myFileFile myFile;MyFile= new FileMyFile= new File(“D D:WUabc.txtWUabc.txt”)8.1.4 File类类1File类的构造方法public File(String pathNamepublic File(String pathName,String name)String name):使:使用参数用参数pathNamepathName(绝对路径或相对路径)来定位参数(绝对路径或相对路
13、径)来定位参数namename所指定的文件或目录。所指定的文件或目录。例如:例如:File myFileFile myFile;MyFile= new FileMyFile= new File(“D D:WUWU”,“abc.txtabc.txt”););8.1.4 File类类1File类的构造方法public File(File directorypublic File(File directory,String name)String name):使用:使用现有的现有的FileFile对象对象directorydirectory(绝对路径或相对路径)来(绝对路径或相对路径)来定位参数定位
14、参数namename所指定的文件或目录。所指定的文件或目录。例如:例如:File myDir=new FileFile myDir=new File(“D D:WUWU”););MyFile= new FileMyFile= new File(myDirmyDir,“abc.txtabc.txt”););public File(URI rui)public File(URI rui):使用给定的同一资源定位符:使用给定的同一资源定位符来定位文件。来定位文件。8.1.4 File类类2File类常见方法String getName()String getName();得到一个文件的名称(不包括路
15、径)得到一个文件的名称(不包括路径)String getPath()String getPath();得到一个文件的路径名得到一个文件的路径名String getAbsolutePath()String getAbsolutePath();得到一个文件的绝对路径名得到一个文件的绝对路径名String getParent()String getParent();得到一个文件的上一级目录名得到一个文件的上一级目录名String renameTo(FilenewName);String renameTo(FilenewName); 将当前文件名更名为给定文件将当前文件名更名为给定文件的完整路径的完整
16、路径booleanexists()booleanexists();测试当前测试当前FileFile对象所指示的文件是否存对象所指示的文件是否存在在booleancanWrite()booleancanWrite();测试当前文件是否可写测试当前文件是否可写booleancanRead()booleancanRead();测试当前文件是否可读测试当前文件是否可读8.1.4 File类类2File类常见方法boolean isFile()boolean isFile();测试当前文件是否是文件(不是目录)测试当前文件是否是文件(不是目录)boolean isDirectory()boolean i
17、sDirectory();测试当前文件是否是目录测试当前文件是否是目录longlastModified();longlastModified();得到文件最近一次修改的时间得到文件最近一次修改的时间longlength();longlength();得到文件的长度,以字节为单位得到文件的长度,以字节为单位booleandelete();booleandelete();删除当前文件删除当前文件booleanmkdir();booleanmkdir(); 根据当前对象生成一个由该对象指定的路径根据当前对象生成一个由该对象指定的路径Stringlist();Stringlist();列出当前目录下的
18、文件列出当前目录下的文件【实例8-3】1.1. import java.io.import java.io.* *; ; 2.2. public class fileTest public class fileTest 3.3. void listAttributes(String fileName)void listAttributes(String fileName)4.4.File f=new File(fileName);File f=new File(fileName);5.5.if( f.exists( ) ) if( f.exists( ) ) 6.6. System.out.p
19、rintln(Attributes of +fileName);System.out.println(Attributes of +fileName);7.7. System.out.println(Exist: +f.exists();System.out.println(Exist: +f.exists();8.8. System.out.println(Can read: +f.canRead();System.out.println(Can read: +f.canRead();9.9. System.out.println(Can write: +f.canWrite();Syste
20、m.out.println(Can write: +f.canWrite();10.10. System.out.println(Is file: +f.isFile();System.out.println(Is file: +f.isFile();11.11. System.out.println(Is director: +f.isDirectory();System.out.println(Is director: +f.isDirectory();12.12. System.out.println(Is absolute path: System.out.println(Is abs
21、olute path: +f.isAbsolute();+f.isAbsolute();13.13.elseelse14.14. System.out.println(fileName+ does not exist!); System.out.println(fileName+ does not exist!);15.15. 【实例8-3】16.16.public static void main(String args )public static void main(String args )17.17.if(args.length!=1)if(args.length!=1)18.18.
22、System.out.println(Usage: java System.out.println(Usage: java fileTest );fileTest );19.19.System.exit(1); System.exit(1); 20.20. 21.21.fileTest obj=new fileTest ( );fileTest obj=new fileTest ( );22.22.obj.listAttributes(args0);obj.listAttributes(args0);23.23. 24.24. 编译完毕后,按照如下方式运行:g:java01java fileT
23、est fileTest.javag:java01java fileTest fileTest.java则得到如下结果:Attributes of fileTest.javaAttributes of fileTest.javaExist: trueExist: trueCan read: trueCan read: trueCan write: trueCan write: trueIs file: trueIs file: trueIs director: falseIs director: falseIs absolute path: falseIs absolute path: fal
24、se8.1.5 FileInputStream类和类和FileOutputStream类类1FileInputStream类FileInputStreamFileInputStream典型地表示一种顺序访问的文本文件典型地表示一种顺序访问的文本文件, ,可以访问可以访问文件的一个字节、几个字节或整个文件。文件的一个字节、几个字节或整个文件。基本步骤:步骤一:利用步骤一:利用FileInputStreamFileInputStream打开文件。打开文件。FileInputStream myFileStream;FileInputStream myFileStream;myFileStream=
25、new FileInputStream(myFileStream= new FileInputStream(“D D:WUWU”,“abc.txtabc.txt”) )或者或者File myFileFile myFile;FileInputStream myFileStream;FileInputStream myFileStream;myFile= new FilemyFile= new File(“D D:WUabc.txtWUabc.txt”)myFileStream= new FileInputStream(myFile)myFileStream= new FileInputStrea
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- B08 输入输出 数据库 操作 教学 课件
限制150内