Java程序开发教学课件:09-输入输出处理

举报
资源描述
Java程序程序设计设计 输入输出处理输入输出处理 重庆大学计算机学院主要内容主要内容1 I/O1 I/O流的概念和划分流的概念和划分 2 2 文件的操作文件的操作 3 3 字节流处理字节流处理 4 4 字符流处理字符流处理5 5 串行化串行化1 I/O流的概念和划分流的概念和划分n n数据流(数据流(StreamStream)是一组有顺序的、有起点和)是一组有顺序的、有起点和终点的字节集合,是对输入和输出的总称和抽终点的字节集合,是对输入和输出的总称和抽象。象。n nJavaJava程序通过流来完成输入程序通过流来完成输入/输出。流通过输出。流通过JavaJava的输入的输入/输出系统与输出系统与物理设备物理设备链接。链接。数据源DataSource程序program数据接收器DataSinkJava流的划分流的划分 n n字节流类字节流类 n处理字节的输入和输出提供了方便的方法 n n字符流类字符流类 n为字符的输入和输出处理提供了方便 n n读写数据的单位不同读写数据的单位不同n n最主要的是最主要的是Read()Read()和和Write()Write()方法方法n n每个流的特点每个流的特点字节流输入类字节流输入类 字节输出类字节输出类字符输入流类字符输入流类字符输出流字符输出流主要内容主要内容1 I/O1 I/O流的概念和划分流的概念和划分 2 2 文件的操作文件的操作 3 3 字节流处理字节流处理 4 4 字符流处理字符流处理5 5 串行化串行化2 文件的操作文件的操作n nFileFile类:对文件的引用和表示类:对文件的引用和表示(工具类工具类)nFile类提供了一些方法来操纵文件和获取文件的信息。对于目录,Java把它当作一种特殊类型的文件,即文件名单列表。nFileFile类直接处理文件和文件系统类直接处理文件和文件系统。通过File类的方法,可以得到文件或者目录的描述信息,包括名称、所在路径、读写性、长度等,还可以创建目录、创建文件,改变文件名、删除文件、列出目录中的文件等。File对象的构造对象的构造n nFile(String path)File(String path)n nFile(String dir,String filename)File(String dir,String filename)n nFile(File dir,String filename)File(File dir,String filename)n nFile(URI uri)File(URI uri)File f1=new File(D:/Java);File f2=new File(D:/Java,test.txt);File f3=new File(f1,test.txt);File f4=new File(file:/D:/Java/test.txt);File类的方法类的方法n nboolean canRead()boolean canRead()测试文件是否可读测试文件是否可读n nboolean delete()boolean delete()删除文件删除文件n nFile getAbsoluteFile()File getAbsoluteFile()返回绝对路径文件名返回绝对路径文件名n nString getAbsolutePath()String getAbsolutePath()返回绝对路径返回绝对路径n nboolean isDirectory()boolean isDirectory()是否是目录是否是目录n nlong lastModified()long lastModified()上次修改时间,从上次修改时间,从19701970年年1 1月月1 1号开始的标准时间号开始的标准时间(UTC)(UTC)的毫秒数的毫秒数n n具体见程序例子具体见程序例子:File:File的使用的使用目录的操作目录的操作n n目录是一个包含其他文件和路径列表的目录是一个包含其他文件和路径列表的File File 类。类。当你创建一个当你创建一个File File 对象且它是目录时,对象且它是目录时,isDirectoryisDirectory()()方法返回方法返回tureture。n nString list()String list()n文件列表在一个String 对象数组中返回。n nFile listFiles()File listFiles()n文件列表在一个File对象的数组中返回。n n参考例子参考例子DirectoryListDemoDirectoryListDemo过滤文件过滤文件n n我们有时需要列出目录下指定类型的文件,比如我们有时需要列出目录下指定类型的文件,比如.java.java、.class.class等扩展名的文件。可以使用等扩展名的文件。可以使用FileFile类的下类的下述三个方法,列出指定类型的文件。述三个方法,列出指定类型的文件。nString list(FilenameFilterFilenameFilter FFObj)nFile listFiles(FilenameFilterFilenameFilter FFObj)nFile listFiles(FileFilterFileFilter FObj)过滤接口过滤接口n nFilenameFilterFilenameFilter仅定义了一个方法,仅定义了一个方法,accept()accept()。调用。调用listlist方法列出文件时,将调用方法列出文件时,将调用accept()accept()方法检查该文件方法检查该文件namename是否符合是否符合acceptaccept方法指定的名字要求。它的通常形式如方法指定的名字要求。它的通常形式如下:下:nboolean accept(File directory,String filename)n nFileFilterFileFilter只定义了一个只定义了一个accept()accept()方法,该方法被列表中方法,该方法被列表中的每个文件调用一次。它的通常形式如下:的每个文件调用一次。它的通常形式如下:nboolean accept(File path)。n n见程序见程序DirDemoDirDemo创建目录和文件创建目录和文件n npublic boolean public boolean mkdirsmkdirs()()n创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。n npublic boolean public boolean createNewFilecreateNewFile()()n当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件新的空文件。检查文件是否存在,若不存在则创建该文件,主要内容主要内容1 I/O1 I/O流的概念和划分流的概念和划分 2 2 文件的操作文件的操作 3 3 字节流处理字节流处理 4 4 字符流处理字符流处理5 5 串行化串行化3 字节流处理字节流处理n nInputStream/OutputStream InputStream/OutputStream n n标准输入标准输入/出流出流 n n文件字节流文件字节流 n n过滤流过滤流 n n随机存取文件随机存取文件 n n其它字节流其它字节流 3.1 InputStreamn nint read()int read()n nint read(byte b)int read(byte b)n nint read(byte b,int offset,int len)int read(byte b,int offset,int len)n nint available()int available()n nvoid close()void close()n nvoid mark(int readlimit)void mark(int readlimit)n nboolean markSupported()boolean markSupported()n nvoid reset()void reset()n nlong skip(long n)long skip(long n)OutputStreamn nvoid close()void close()n nvoid flush()void flush()n nvoid write(int b)void write(int b)n nvoid write(byte b)void write(byte b)n nvoid write(byte b,int offset,int len)void write(byte b,int offset,int len)3.2 标准输入标准输入/出流出流 n nJavaJava通过系统类通过系统类SystemSystem实现标准输入输出的功能,实现标准输入输出的功能,定义了定义了3 3个流变量,个流变量,inin,outout和和errerr。n static PrintStream err nstatic InputStream in nstatic PrintStream out n n通过通过readread()方法从键盘接受数据。()方法从键盘接受数据。n n见程序见程序标准输出标准输出n nSystem.outSystem.out作为打印流类作为打印流类PrintStreamPrintStream的对象的对象outout实现标准输出。实现标准输出。n n其中定义了其中定义了PrintPrint和和PrintlnPrintln方法,支持方法,支持JavaJava任意基任意基本类型作为参数。本类型作为参数。n nJava5.0Java5.0对对PrintStreamPrintStream类进行了扩充,支持数据类进行了扩充,支持数据的格式化输出,增加了的格式化输出,增加了printfprintf()方法。()方法。npublic PrintStream printf(String format,Object.args)npublic PrintStream printf(Locale l,String format,Object.args)从标准输入读取整数从标准输入读取整数JDK5.0JDK5.0新功能新功能import java.util.Scannerimport java.util.Scanner;public class TestScanner public class TestScanner public static void main(String args)public static void main(String args)Scanner cin=new Scanner(Scanner cin=new Scanner(System.inSystem.in););int a=int a=cin.nextInt(),cin.nextInt(),b=cin.nextInt();b=cin.nextInt();System.out.println(a+b);System.out.println(a+b);3.3 文件字节流文件字节流 n nInputStreamInputStream和和OutputStreamOutputStream都是抽象类,不能实都是抽象类,不能实例化,因此在实际应用中都使用的是他们的子类。例化,因此在实际应用中都使用的是他们的子类。n nFileInputStreamFileInputStream和和FileOutputStreamFileOutputStream用于进行文用于进行文件的输入输出处理,其数据源和接收器都是文件。件的输入输出处理,其数据源和接收器都是文件。FileInputStreamn nFileInputStreamFileInputStream用于顺序访问本地文件,对文件进行
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 中学教育 > 初中教育


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