JAVA输入输出及数据库操作.ppt
《JAVA输入输出及数据库操作.ppt》由会员分享,可在线阅读,更多相关《JAVA输入输出及数据库操作.ppt(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7章章 输入输出及数据库操作输入输出及数据库操作7.1 输入和输出7.2 数据库操作7.1 输入和输出输入和输出7.1.1 流的含义7.1.2 流的层次结构7.1.3 标准输入输出7.1.4 File类7.1.5 FileInputStream类和FileOutputStream类7.1.6 DataInputStream类和DataOutputStream类7.1.7 随机访问文件7.1.8 Reader类和Writer类7.1.9 IOException类的几个子类7.1.1 流的含义流的含义流是一个很形象的概念,当程序需要读取数据的时候,是一个很形象的概念,当程序需要读取数据的时候,
2、就会开启一个通向数据源的流,这个数据源可以是文就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中你就可以想象数据好像在这其中“流流”动一样,如下动一样,如下图图7-17-1:图7-1 流7.1.1 流的含义流的含义数据流是指一组有顺序的、有起点的和终点的字节集合Java将读取数据的对象称为输入流;能向其写入数据的对象称为输出流。字节流,被称作输入流(Input stream)或输出流(Ou
3、tput stream),基于数据的I/O是二进制(比如说表示图像的位图)字符流,被称作Reader或Writer,基于文本的I/O都是一些人们能够阅读的字符(比如说程序的源代码,字符流7.1.1 流的含义流的含义InputStream,OutputStream,Reader,Writer是四个抽象类。Java中其他多种多样变化的流均是由它们派生出来的。在这四个抽象类中,InputStream和Reader定义了完全相同的接口:int readint read()()int readint read(char cbufchar cbuf)int readint read(char cbuf,i
4、nt 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)7.1.2 流的层次结构流的层次结构InputStream和OutputStream流层次结构如
5、图7-2和图7-3所示Reader和Writer流层次结构如图7-4和图7-5所示图7-2 InputStream输入流层次结构StringBufferInputStream字符串缓冲区输入流ByteArrayInputStream字节数组输入流FileInputStream文件输入流FilterInputStream过滤器输入流PipedInputStream管道输入流SequenceInputStream顺序输入流ObjectInputStream对象输入流BufferInputStream带缓冲区输入流PushbackInputStream回退输入流LineNumberInputStre
6、am行号输入流DataInputStream数据输入流InputStream输入流图7-3 OutputStream输出流层次结构ByteArrayOutputStream字节数组输出流FileOutputStream文件输出流FilterOutputStream过滤器输出流PipedOutputStream管道输出流ObjectOutputStream对象输出流BufferOutputStream带缓冲区输出流PrintStream回退输出流DataOutputStream数据输出流OutputStream输出流图7-4 Reader流层次结构BufferReaderReaderCharAr
7、rayReaderInputStreamReaderFilterReaderPipedReaderStringReaderLineNumberReaderFileReaderPushbackrReader图7-5 Writer流层次结构Buffer WriterWriterCharArray WriterOutputStream WriterFilter WriterPiped WriterString WriterFileWriter7.1.3 标准输入输出标准输入输出标准输入输出都是System类中定义的类成员变量,包括:System.inSystem.in:代表标准输入流:代表标准输入流
8、,默认状态对应于键盘输默认状态对应于键盘输入。入。System.outSystem.out:代表标准输出流:代表标准输出流,默认状态对应于屏幕输默认状态对应于屏幕输出。出。System.errSystem.err:代表标准错误输出流,默认状态对应于:代表标准错误输出流,默认状态对应于屏幕输出。屏幕输出。【实例7-1】1.1.import import java.iojava.io.*;.*;2.2.class stdIOExample1class stdIOExample1 3.3.public static void public static void main(Stringmain(St
9、ring argsargs)throws)throws IOExceptionIOException 4.4.intint chch;5.5.intint count=0;count=0;6.6.(请输入字符(当输入请输入字符(当输入0 0时退出!)时退出!)););7.7.while(while(char)(chchar)(ch=()!=0)()!=0)/输入字符输入字符8.8.count+;count+;System.out.print(char)chSystem.out.print(char)ch););/输出字符输出字符9.9.10.10.();();11.11.System.err.
10、println(countedSystem.err.println(counted +count+total bytes.);+count+total bytes.);12.12.13.13.说明:在本实例中,利用()不断从键盘输入字符,并在显示屏输出,count用于累计输入字符个数,当输入字符为0时,输入终止。7.1.4 File类类含义:FileFile类与类与InputStream/OutputStreamInputStream/OutputStream类同属于一个包,它不允类同属于一个包,它不允许访问文件内容。许访问文件内容。FileFile类主要用于命名文件、查询文件属性和处类主要用
11、于命名文件、查询文件属性和处理文件目录。理文件目录。1File类的构造方法public File(String name)public File(String name):指定与:指定与FileFile对象关联的文件或目录对象关联的文件或目录的名称,的名称,namename可以包含路径信息及文件或目录名。可以包含路径信息及文件或目录名。例如:例如:File myFileFile myFile;MyFile=new FileMyFile=new File(“D D:WUabc.txt”WUabc.txt”)7.1.4 File类类1File类的构造方法public File(String pat
12、hNamepublic File(String pathName,String name)String name):使:使用参数用参数pathNamepathName(绝对路径或相对路径)来定位参数(绝对路径或相对路径)来定位参数namename所指定的文件或目录。所指定的文件或目录。例如:例如:File myFileFile myFile;MyFile=new FileMyFile=new File(“D D:WU”WU”,“abc.txt”abc.txt”););7.1.4 File类类1File类的构造方法public File(File directorypublic File(Fil
13、e directory,String name)String name):使用:使用现有的现有的FileFile对象对象directorydirectory(绝对路径或相对路径)来(绝对路径或相对路径)来定位参数定位参数namename所指定的文件或目录。所指定的文件或目录。例如:例如:File myDir=new FileFile myDir=new File(“D D:WU”WU”););MyFile=new FileMyFile=new File(myDirmyDir,“abc.txt”abc.txt”););public File(URI rui)public File(URI rui
14、):使用给定的同一资源定位符:使用给定的同一资源定位符来定位文件。来定位文件。7.1.4 File类类2File类常见方法String getName()String getName();得到一个文件的名称(不包括路径)得到一个文件的名称(不包括路径)String getPath()String getPath();得到一个文件的路径名得到一个文件的路径名String getAbsolutePath()String getAbsolutePath();得到一个文件的绝对路径名得到一个文件的绝对路径名String getParent()String getParent();得到一个文件的上一级目
15、录名得到一个文件的上一级目录名String renameTo(FilenewName);String renameTo(FilenewName);将当前文件名更名为给定文件将当前文件名更名为给定文件的完整路径的完整路径booleanexists()booleanexists();测试当前测试当前FileFile对象所指示的文件是否存对象所指示的文件是否存在在booleancanWrite()booleancanWrite();测试当前文件是否可写测试当前文件是否可写booleancanRead()booleancanRead();测试当前文件是否可读测试当前文件是否可读7.1.4 File类类
16、2File类常见方法boolean isFile()boolean isFile();测试当前文件是否是文件(不是目录)测试当前文件是否是文件(不是目录)boolean isDirectory()boolean isDirectory();测试当前文件是否是目录测试当前文件是否是目录longlastModified();longlastModified();得到文件最近一次修改的时间得到文件最近一次修改的时间longlength();longlength();得到文件的长度,以字节为单位得到文件的长度,以字节为单位booleandelete();booleandelete();删除当前文件删除
17、当前文件booleanmkdir();booleanmkdir();根据当前对象生成一个由该对象指定的路径根据当前对象生成一个由该对象指定的路径Stringlist();Stringlist();列出当前目录下的文件列出当前目录下的文件【实例7-3】1.1.import import java.iojava.io.*;.*;2.2.public class public class fileTestfileTest 3.3.void void listAttributes(StringlistAttributes(String fileNamefileName)4.4.File f=new F
18、ile f=new File(fileNameFile(fileName););5.5.if(if(f.existsf.exists()()6.6.System.out.println(AttributesSystem.out.println(Attributes of+of+fileNamefileName););7.7.System.out.println(ExistSystem.out.println(Exist:+:+f.existsf.exists();();8.8.System.out.println(CanSystem.out.println(Can read:+read:+f.
19、canReadf.canRead();();9.9.System.out.println(CanSystem.out.println(Can write:+write:+f.canWritef.canWrite();();10.10.System.out.println(IsSystem.out.println(Is file:+file:+f.isFilef.isFile();();11.11.System.out.println(IsSystem.out.println(Is director:+director:+f.isDirectoryf.isDirectory();();12.12
20、.System.out.println(IsSystem.out.println(Is absolute path:absolute path:+f.isAbsolutef.isAbsolute();();13.13.elseelse14.14.System.out.println(fileNameSystem.out.println(fileName+does not exist!);+does not exist!);15.15.【实例7-3】16.16.public static void public static void main(Stringmain(String argsarg
21、s)17.17.if(args.lengthif(args.length!=1)!=1)18.18.System.out.println(UsageSystem.out.println(Usage:java:java fileTestfileTest ););19.19.System.exit(1);System.exit(1);20.20.21.21.fileTestfileTest objobj=new=new fileTestfileTest();();22.22.obj.listAttributes(args0);obj.listAttributes(args0);23.23.24.2
22、4.编译完毕后,按照如下方式运行:g:java01java fileTest 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:fa
23、lseIs absolute path:false7.1.5 FileInputStream类和类和FileOutputStream类类1FileInputStream类FileInputStreamFileInputStream典型地表示一种顺序访问的文本文件典型地表示一种顺序访问的文本文件,可以访问可以访问文件的一个字节、几个字节或整个文件。文件的一个字节、几个字节或整个文件。基本步骤:步骤一:利用步骤一:利用FileInputStreamFileInputStream打开文件。打开文件。FileInputStream myFileStream;FileInputStream myFile
24、Stream;myFileStream=new FileInputStream(“DmyFileStream=new FileInputStream(“D:WU”WU”,“abc.txt”)abc.txt”)或者或者File myFileFile myFile;FileInputStream myFileStream;FileInputStream myFileStream;myFile=new FilemyFile=new File(“D D:WUabc.txt”WUabc.txt”)myFileStream=new FileInputStream(myFile)myFileStream=n
25、ew FileInputStream(myFile)7.1.5 FileInputStream类和类和FileOutputStream类类1FileInputStream类步骤二:使用方法步骤二:使用方法read()read()读取信息。读取信息。int read()int read()int read(byte input)int read(byte input)int read(byte input,int offset,int length)int read(byte input,int offset,int length)步骤三:读取完毕后要关闭步骤三:读取完毕后要关闭FileInpu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 输入输出 数据库 操作
限制150内