Java程序设计基础第九章 IO流.pptVIP

  • 2
  • 0
  • 约4.05千字
  • 约 33页
  • 2019-07-17 发布于辽宁
  • 举报
Java Java程序设计基础 第九章 IO流 9.2 文件读写 9.1 流的概念 9.3 过滤流和节点流 9.4 RandomAccessFile类 9.1 流的概念 流概念的理解 流的分类 按流动的方向分为输入流和输出流 按流动的数据类型分为字符流和字节流 按流的建立方式和工作原理 分为节点流和过滤流 9.1 流的概念(续) 字节流 字节流提供了对字节进行输入输出处理的方法 。按照传输的方向字节流可以分为InputStream和OutputStream。其中InputStream是所有输入字节流的父类,OutputStream是所有输出字节流的父类。 在InputStream和OutputStream中定义了输入字节流和输出字节流最基本的方法,他们是抽象类。 9.1 流的概念(续) 输入字节流的类层次图 9.1 流的概念(续) 输出字节流的类层次图 9.1 流的概念(续) 字符流 字符流提供了对字符进行输入输出处理的方法。字节流与字符流主要的区别是他们的处理方式。 所有的字节流都是基于字节对数据进行处理,而实际使用中很多情况我们处理的数据是文本字符,所以Java提供了基于字符处理的字符流。 9.1 流的概念(续) 按照传输的方向字符流可以分为Reader和Writer。其中Reader是所有输入字符流的父类,Writer是所有输出字符流的父类。 在Reader和Writer中定义了输入字符流和输出字符流最基本的方法。 9.1 流的概念(续) 输入字符流的类层次图 9.1 流的概念(续) 输出字符流的类层次图 9.1 流的概念(续) 预定义流 Java程序默认导入java.lang包,这个包中有一个System类,这个类包含三个预定义静态常量,分别是in、out和err。 System. in是标准输入流,默认设备是键盘。System. out是标准输出流,默认设备是控制台。System. err是标准错误流,默认设备是控制台。 9.2 文件读写 File类 Java中的File类指文件和目录的集合。 Java语言中通过File类来建立与磁盘文件的联系。File类主要用来获取文件或者目录的信息,File类的对象本身不提供对文件的处理功能,要想对文件实现读写操作需要使用输入输出流。 9.2 文件读写(续) 注意: Java能正确处理UNIX和Windows/DOS约定路径分隔符。如果在Windows版本的Java下用斜线(/),路径处理依然正确。记住,如果你用Windows/DOS使用反斜线(\)的约定,你需要在字符串内使用它的转义序列(\\)。Java约定是用UNIX和URL风格的斜线来作路径分隔符。 9.2 文件读写(续) FileInputStream FileInputStream是InputStream类的子类。常用的构造方法如下: FileInputStream(String name)使用指定的文件名name创建一个FileInputStream的对象,如果文件不存在会产生FileNotFoundException。 FileInputStream(File file) 使用指定的文件对象来创建一个FileInputStream的对象,如果文件不存在会产生FileNotFoundException。 9.2 文件读写(续) 下面的例子创建了两个使用同样磁盘文件且各含一个上述构造方法的FileInputStream对象: FileInputStream f1 = new FileInputStream(hello. txt) File f = new File(hello. txt ); FileInputStream f2 = new FileInputStream(f); 尽管第一个构造方法可能更常用到,第二个构造方法允许在把文件赋给输入流之前用File对象的方法更进一步检查文件,例如判断文件是否存在。 9.2 文件读写(续) FileInputStream的常用方法: int read( )如果下一个字节可读则返回一个整型,遇到文件尾时返回-1 int read(byte buffer[ ])试图读取buffer.length个字节到buffer中,并返回实际成功读取的字节数。遇到文件尾时返回-1 int read(byte buffer[ ], int offset, int numBytes)试图读取buffer中从buffer[offset]开始的numBytes个字节,返回实际读取的字节数。遇到文件尾时返回-1 void close( )关闭输入源。关闭之后的读取会产生IOException异常 9.2 文

文档评论(0)

1亿VIP精品文档

相关文档