第十二章javaFile类以及IO流_第1页
第十二章javaFile类以及IO流_第2页
第十二章javaFile类以及IO流_第3页
第十二章javaFile类以及IO流_第4页
第十二章javaFile类以及IO流_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、Java,语言基础,第十二章,File,以及,I/O,流,?,?,?,?,?,上章回顾,接口,接口,接口以及实现类,接口以及实现类,接口以及实现类,Collection,Iterator,List,Set,Map,?,?,?,本章内容,类的使用,流,?,流的概念,?,流的分类,?,字节流,?,字符流,File,I/O,对象流以及对象的序列化,?,?,?,File,类,java.io.File,类,?,代表硬盘上的一个文件或者目录,java.io.File,类作用,?,每个,性中包含了文件或目录的相关信息,如名称、长度、,File,类的对象表示一个磁盘文件或目录,其对象属,所含文件个数等,调用它

2、的方法则可以完成对文件或,目录的常用管理操作,例如,创建、删除等操作。,Java,中文件或者目录的路径表示,?,Windows,中文件或者目录的表示,D:lujianliang1.txt,?,Java,中文件或者目录的表示,D:lujianliang1.txt,,或者,D:/lujianliang/1.txt,?,创建,File,对象,类的构造方法,?,由于,File,类的每一个对象都表示的是一个具体的目录或,者文件,所以,File,类没有提供无参的构造方法,,File,类,的所有构造方法都需要一个目录或者文件的路径作为,参数,?,File(String pathname),?,File(St

3、ring parent, String child),?,File(File parent, String child),File,创建,File,对象,?,File,类常用方法,类常用方法,?,boolean createNewFile(),创建一个新文件,?,boolean mkdir() / mkdirs(),创建新的目录,?,boolean delete(),删除文件或者目录,?,void deleteOnExit(),虚拟机退出时删除文件或者目录,?,boolean exists(),判断当前文件或者目录是否存在,?,boolean isFile(),判断,File,对象代表的是否是

4、一个文件,?,boolean isDirectory(),判断,File,对象代表的是否是一个目录,File,?,File,类常用方法,类常用方法,?,String getPath(),返回当前,File,对象的字符串路径,?,String getName(),返回当前,File,对象的文件名或者目录名,?,String getParent(),返回当前,File,对象的父级目录,?,String getAbsolutePath(),返回当前,File,对象的绝对路径,?,Stringlist(),返回当前,File,对象包含的子目录以及文件,File,File,类常用方法,?,流的概念,?,

5、流是一组有序的,有起点和终点的字节集合,是对计,算机中数据传输的总称或者抽象,?,即数据在两个设备间的传输称为流,流的本质是数据,传输。,?,流序列中的数据可以是没有进行加工的原始数据(二,进制字节数据),也可以是经过编码的符合某种格式,规定的数据,,Java,中提供了不同的流类对它们进行处,理。,什么是流,?,?,?,流的分类,?,输入流(,InputStream,),?,输出流(,OutputStream,),?,字节流,?,字符流,?,节点流,?,过滤流,按照流传输方向不同,按照处理数据类型的不同,按照流的基本功能不同,I/O,流的概念,?,输入流(,InputStream,),?,在,

6、Java,中,程序可以打开一个输入流,输入流的信息,源可以位于文件、内存或网络套接字,(socket),等地方,,信息源的类型可以是包括对象、字符、图像、声音在,内的任何类型。一旦打开输入流后,程序就可从输入,流串行地读数据。,?,I/O,流的概念,输出流(,OutputStream,),?,类似地,程序也能通过打开一个输出流并顺序地,写入数据来将信息送至目的端。,?,?,字节流,传输的数据单位是字节,也意味着字节流能够处理任何,一种文件,字节输入流,InputStream,字节输出流,OutputStream,字节流的概念,?,字节流的组成,?,?,字节流,字节流,FileInputStre

7、am,字节输入流类,?,?,?,FileInputStream,常用方法,?,FileInputStream(String filename),?,FileInputStream(File file),?,close(),?,int read(),?,int read(byteb),?,int read(byte bs, int off, int len),构造方法,常用方法,FileInputStream,字节输出流类,FileOutputStream,字节输入流类,?,?,?,常用方法,?,FileOutputStream(String path),?,FileOutputStream(F

8、ile file),?,FileOutputStream(String path, boolean append),?,FileOutputStream(File file, boolean append),?,close(),?,void write(int v),?,void write(byte bs),?,void write(byte bs, int off, int len),FileOutputStream,常用构造方法,常用方法,FileOutputStream,字节输入流类,FileOutputStream,字节输入流类,?,?,?,字符流,编码规范(字符集),?,ASCII

9、,?,ISO-8859-1,?,GB2312,?,GBK,?,UTF-8,字符编码,常见的,乱码问题,字符流,?,字符流,字符流的组成,Reader,Writer,?,?,?,?,字符流,FileReader,FileReader(String fileName),close(),int read(char cbuf),FileWriter,FileWriter(String fileName),close(),write(String value),?,?,?,?,?,?,?,?,字符流,InputStreamReader,和,OutputStreamWriter,?,特点:,?,可以把一个

10、字节流转换成一个字符流,?,在转换时可以执行编码方式,?,InputStreamReader(InputStream is),?,InputStreamReader(InputStream is String charSet),?,int read(char cbuf),InputStreamReader,?,字符流,?,OutputStreamWriter(OutputStream is),?,OutputStreamWriter(nOuputtStream is String charSet),?,write(String value),OutputStreamWriter,字符流,?,?

11、,过滤流,Data Stream,DataInputStream,?,readXxx();,DataOutputStream,?,writeXxx();,过滤流的开发步骤,创建节点流,基于节点流创建过滤流,读,/,写数据,关闭外层流,?,?,?,?,?,?,过滤流,过滤流,过滤流,?,Buffered Stream,?,BufferedInputStream,?,BufferedOutputStream,?,?,?,过滤流,ObjectStream,ObjectInputStream,ObjectOutputStream,ObjectStream,特点,writeObject(),readOb

12、ject(),对象序列化,?,?,?,?,过滤流,?,java.io.Serializable,接口,过滤流,过滤流,?,?,过滤流,transient,关键字,序列化时注意事项,不要使用追加的方式写对象,如果一个对象的属性又是一个对象,则要求这个属性,对象也实现了,Serializable,接口,?,?,?,?,字符流过滤流,BufferedReader,字符过滤流,提供了缓冲功能,可以一行一行的读取内容,?,public String readLine(),完整的字符输入流的开发步骤,创建节点流,桥转换为字符流,在字符流的基础上封装过滤流,读,/,写数据,关闭外层流,?,?,?,?,?,?,?,?,字符流过滤流,?,?,字符过滤流,PrintWriter,字符过滤流,提供了缓冲功能,可以一行一行的输出内容,?,println();,第一种用法,?,?,?,字符过滤流,字符过

温馨提示

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

评论

0/150

提交评论