09_输入输出及文件操作.pptVIP

  • 1
  • 0
  • 约 27页
  • 2017-09-02 发布于天津
  • 举报
09_输入输出及文件操作

Java语言 程序设计 Java 语言 程序设计 主讲教师: 梁建勇 9 输入输出及文件操作 本章内容 1 输入输出概述 流的层次/ 流的分类 2 字节流类 基本的输入输出示例 FileInputStream和FileOutputstream BufferedInputStream和BufferedOutputStream DataInputStream和DataOutputStream 3字符流类 Reader和Writer FileReader和FileWriter BufferedReader和BufferedWriter 4 文件操作 9.1 输入输出概述 流模型建立在从某个数据源到数据池的数据传输基础上(from source to sink),也就是说把不同的输入/输出源(键盘,文件,网络连接)等抽象表示为“流”。 流编程相关API封装在java.io包中。 9.1 输入输出概述 流的层次 9.1 输入输出概述(续) 流的分类 按数据的流向分为输入流和输出流。流是单向的,流提供数据是输入流,向流中写数据是输出流。 按流的数据单位大小分字符流和字节流。 按功能不同可以分为节点流和处理流。 字节流 字符流 输 入 InputStream Reader 输 出 OutputStream Writer 9.2 字节流类(InputStream) 字节输入流InputStream是抽象类,定义了字节输入流的框架。 它的最重要的三个方法(输入流提供数据输入): int read() int read(byte[] buffer) int read(byte[] buffer, int offset, int length) 大部分子类的命名是XxxInputStream,例如FileInputStream,DataInputStream 9.2 字节流类(OutputStream) 字节输出流OutputStream是抽象类,定义了字节输出流的功能. 它的最重要的三个方法(提供数据输出): void write(int c) void write(byte[] buffer) void write(byte[] buffer, int offset, int length) 大部分子类的命名是XxxOutputStream,例如FileOutputStream,DataOutputStream 示例: TestInAndOut.java TestInputStreamAndOutputStream.java 文件复制(CopyFile1.java)。 文件复制(CopyFile2.java) 9.3 字符流类(Reader Writer) Reader和Writer类是一切字符流的超类。它们封装的功能大致和InputStream,OutputStream一样,子类命名常为XxxReader,XxxWriter。以下为两个类的主要API方法: int read(); int read(char[] cbuf); int read(char[] cbuf, int offset, int length); void write(int c); void write(char[] cbuf); void write(char[] cbuf, int offset, int length); void write(String s); void write(String s, int offset, int length); 示例: 重写Copy1.java(CopyFileByChar ) 重写Copy2.java 读具有一定逻辑结构数据文件 。 数组复制(ArrayCopy.java)。 补充:节点流和处理流 节点流(node stream): 可以从/向一个特定的地方(节点)读写数据,例如磁盘或者一块内存。 处理流(processing stream): 是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读/写功能 二者的区分大致可以从构造器参数中或类名称中看出来。 I/O Stream Chaining 标准输入和标准输出 Java提供System类的3个静态属性对应系统的输入和输出. 这3个属性分别对应Inputstream,PrintStream的对象. System.out 提供向“标准输出”写出数据的功能 System.out为 PrintStream类型. System.in 提供从“标准输入”读入数据的功能

文档评论(0)

1亿VIP精品文档

相关文档