Java开发综合实战 课件 【ch07】I或O操作_第1页
Java开发综合实战 课件 【ch07】I或O操作_第2页
Java开发综合实战 课件 【ch07】I或O操作_第3页
Java开发综合实战 课件 【ch07】I或O操作_第4页
Java开发综合实战 课件 【ch07】I或O操作_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章Java开发综合实战I/O操作计算机专业·任务驱动应用型教材01使用File类操作文件和目录使用File类操作文件和目录创建File对象使用File类的构造方法可以创建一个File对象,File对象既可以表示文件,也可以表示目录。要构造一个File对象,需要传入文件路径,可以是绝对路径,也可以是相对路径。语法格式有如下3种。使用File类操作文件和目录创建File对象该构造方法使用参数pathname指定包含文件名的路径。Windows平台使用“\”作为路径分隔符,在Java字符串中需要用转义字符"\\"表示"\",也可以直接使用/进行路径分隔。Linux平台使用“/”作为路径分隔符。(1)File(Stringpathname)。使用File类操作文件和目录创建File对象该构造方法通过指定父路径parent和子路径child传入文件路径。父路径是磁盘根目录或磁盘中的某个文件夹,如D:/或D:/workspace/。子路径是包含文件类型后缀的文件名,如stars.txt。(2)File(Stringparent,Stringchild)。使用File类操作文件和目录创建File对象该构造方法根据磁盘中的某个文件夹f(称为父File对象)和要创建的文件名child(称为子File对象)创建File对象。例如,上面的代码也可以写成如下形式:(3)File(Filef,Stringchild)。使用File类操作文件和目录获取文件属性在创建File对象后,可以调用File类的方法获取文件属性,如表7-1所示。使用File类操作文件和目录获取文件属性在这里要提醒读者注意的是,File对象有3个表示路径的方法:第1个是getPath),用于获取构造方法传入的路径字符串;第2个是getAbsolutePath(),用于获取绝对路径;第3个是getCanonicalPath(),与绝对路径类似,不同的是,其获取的是规范路径。使用File类操作文件和目录创建和删除文件1创建文件使用File类创建File对象后,如果File对象指向的文件不存在,则可以调用createNewFile()方法创建文件,语法格式如下:使用File类操作文件和目录创建和删除文件2删除文件使用File类的delete()方法可以删除指定的文件,语法格式如下:使用File类操作文件和目录创建和删除文件夹使用File对象可以指向一个文件夹,并调用mkdir()方法创建文件夹。如果要创建多级目录,则调用mkdirs()方法。●booleanmkdir():创建一个文件夹,路径名由当前File对象指定。若创建成功,则返回true,否则返回false。●booleanmkdirs():创建多级目录,路径名由当前File对象指定。使用File类操作文件和目录创建和删除文件夹与文件操作类似,无论是创建文件夹还是删除文件夹,都需要先调用exists()方法判断文件夹是否存在。如果要删除文件夹,则可以调用File类的delete()方法。使用File类操作文件和目录遍历目录1list()方法该方法使用字符串数组返回当前File对象表示的目录中所有的文件和文件夹名称。如果当前File对象不是目录,则返回null。语法格式如下:publicString[]list()使用File类操作文件和目录遍历目录2listFiles()方法该方法的功能与list()方法相同,不同的是,该方法会列出文件的完整路径,返回值为一个File对象数组。此外,该方法还提供了两个重载方法,可以过滤不想要的文件和目录,语法格式如下:02读/写文件内容读/写文件内容流的概念Java以数据流的形式处理输入和输出数据。流是一组有序的字节或字符集合,根据流的运动方向,流可以被分为输入流和输出流两种。以计算机内存为参照物,输入流是指从计算机外设读入内存的数据序列;输出流是指从内存输出到计算机外设的数据序列。读/写文件内容流的概念根据流中元素的基本单元是一个字节还是一个字符(两个字节),可以将流分为字节流和字符流。例如,使用字符输入流可以读取磁盘文件中的字符;使用字节输出流可将内存中的字节写入磁盘文件中。读/写文件内容流的概念在Java中,所有与输入流有关的类都是抽象类InputStream(字节输入流)或抽象类Reader(字符输入流)的子类;所有与输出流有关的类都是抽象类OutputStream(字节输出流)或抽象类Writer(字符输出流)的子类。这4个类都是抽象类,其子类有一个共同特点:子类名的后缀都是父类名,前缀都是这个子类的功能名称。读/写文件内容文件字节流1文件字节输入流(FilelnputStream)Java提供了InputStream类用于创建字节输入流,InputStream类的常用方法如表7-2所示。读/写文件内容文件字节流FilelnputStream类是InputStream类的一个常用子类,用于从文件系统中读取如图像数据之类的原始字节流,实现文件流的输入。该子类的实例方法都继承自InputStream类。FileInputStream类使用以下两种形式的构造方法来创建指向文件的输入流。读/写文件内容文件字节流2文件字节输出流(FileOutputStream)Java提供了OutputStream类用于创建字节输出流,OutputStream类的常用方法如表7-3所示。读/写文件内容文件字节流对应于FilelnputStream类,字节输出流(OutputStream)提供了一个常用的子类FileOutputStream,用于实现文件流的输出。该子类的实例方法都继承自OutputStream类。FileOutputStream类使用以下两种形式的构造方法来创建指向目的地的输出流。读/写文件内容文件字符流1文件字符输入流(FileReader)Java提供了Reader类用于创建字符输入流,其实质是一个能自动编/解码的InputStream,是所有字符输入流的父类。Reader类的方法与InputStream类的方法类似,不同的是,Reader类的read()方法的参数是字符数组。虽然数据源是字节,但Reader类将读入的字节数据进行了编码,转换为char类型的字符。读/写文件内容文件字符流2文件字符输出流(FileWriter)Java标准库提供了Writer类用于处理字符输出流,其实质上是一个能自动编/解码的OutputStream,将char类型的字符转换为byte并输出,是所有字符输出流的父类。Write类的常用方法如表7-4所示。读/写文件内容文件字符流读/写文件内容缓冲数据流在大型项目中,如果要传输的内容较多,通常会采用缓冲数据流对I/O流进行性能优化。缓冲数据流为I/O流增加了内存缓冲区,数据以块为单位被读入/读出缓冲区,从而提升操作效率。读/写文件内容缓冲数据流Java提供BufferedReader类和BufferedWriter类用于处理缓冲数据流,这两个类分别继承自Reader类和Writer类,以行为单位进行输入和输出,创建的对象分别称为缓冲输入流和缓冲输出流。构造方法如下:读/写文件内容随机流前面介绍的读/写文件内容的操作都需要创建指向文件的输入流和输出流,且只能按顺序读/写。Java还提供了一个既能读取文件内容也能将内容写入文件的流,而且可以从任何指定的位置读/写文件内容,这就是随机流。使用RandomAccessFile类的以下两种形式的构造方法可以创建随机流。读/写文件内容随机流●r:只读,只能从文件中读取内容。●rw:可读/写,既可以读取文件内容,也可以将数据写入文件中。●rwd:可读/写,对文件内容的修改会被同步写入存储设备中。●rws:可读/写,对文件内容的修改和元数据都会被同步写入存储设备中。读/写文件内容随机流在创建随机流之后,要使用随机流读/写文件内容,可以执行以下步骤。(1)调用RandomAccessFile类的length()方法获取文件的长度,并指定读/写

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论