第10章 输入输出流

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java2程序设计
第10章 输入输出流
I/O流概述 字节流
字节流的基类 文件流 过滤流 标准流
字符流 随机访问文件
对象流 管道流 内存读写流 顺序输入流
10.1 数据流的基本概念
➢大部分程序都需要输入/输出处理,如从键盘读取数据、向屏 幕输出数据、从文件中读或者向文件中写数据、在一个网络连 接上进行读写操作等; ➢在Java中,这些不同类型的输入、输出源抽象为流-Stream;
10.1.2 java标准数据流
2. 标准的输出System.out ➢ System.out作为打印流类PrintStream类的一个对象实例 来实现标准输出; print()和println()两个成员函数支持 Java的任意基本类型作为参数,实现输入 ➢ Public void print(…) ➢ 在当前行输出 ➢ Public void println(…); ➢ 输出时加一个换行,
管道输入流
➢ FileInputStream
文件输入流
➢ ObjectInputStream
对象输入流
10.2 字节流
1. 字节输入流类—InputStream的常用方法
➢ int read()从流中读入一个字节(返回读入的字节值),读入失败 时返回-1,另两个重载的方法用来读到字节数组中:
➢ int read (bytr[]) ➢ int read (bytr[],offset, length) //指定放置数据的起始位置
byte buffer[] = new byte[512]; //输入缓冲区
int count = System.in.read(buffer); //从键盘读取标准输入流
System.out.println("Output: ");
for (int i=0;i<count;i++)
//输出buffer元素值
➢ 通过名字初步了解该类的含义。它派生的子类有:
➢ ByteArrayInputStream 字节数组输入流
➢ StringBufferInputStream 字符串输入流
➢ SequenceInputStream 顺序输入流
➢ FilterInputStream
过滤器输入流
➢ PipedInputStream
➢输入或输出的数据则称为数据流( Stream),用统一的接 口来表示,从而使程序设计简单明了;
10.1 数据流的基本概念
➢数据流:一组有顺序,有起点和终点的字节集合,是对 输入/输出的抽象
10.1.1 输入/输出流的基本概念
一.输入流与输出流 ➢ 流分为输入流(Input Stream)和输出流(Output Stream)
两类; ➢ 输入流只能读不能写,输出流只能写不能读; ➢ 程序通过输入流读入数据,输出流写数据; ➢ 在Java开发环境中,主要是由包java.io中提供的一系列
的类和接口来实现输入/输出处理;
10.1.2 java标准数据流
➢ 标准的输入是指在字符方式下(如dos),程序与系统交互的 方式,共分三种:
{ System.out.print(" "+buffer[i]);}
System.out.println();
for (int i=0;i<count;i++) //按字符方式输出buffer
{ System.out.print((char) buffer[i]); }
System.out.println("count = "+ count); //buffer实际长度
➢ 把输出送到缺省的显示(通常是显示器) ➢ System.in
➢ 从标准输入获取输入(通常是键盘) ➢ System.err
➢ 把错误信息送到缺省的显示; ➢ 每当main方法被执行时,就自动生成上述三个对象
10.1.2 java标准数据流
1. 标准的输入System.in ➢ System.in作为InputStream类的一个对象实例来实现标 准输入; ➢ Public int read() throws IOException ➢ 返回输入的一个字节 ➢ Public int read(byte b[] ) throws IOException ➢ 读入多个字节到缓冲区b中,返回读入的字节数 ➢ 如果输入流结束返回-1; ➢ Public int skip(long n) ➢ 在输入中跳过n个字节 ➢ 发生IO错误,抛出IOException异常
返回读入字节的个数。 ➢ long skip(long n) //把指针(指向当前读取位置的变量
3. System.err ➢ 把错误信息送到缺省的显示
➢ 例13.1 从键盘接收输入的字符
import java.io.*;
public class Input1
{public static void main(String args[]) throws IOException
Leabharlann Baidu
{ System.out.println("please Input: ");
3. 文件类 ➢ File记录文件信息并以顺序方式读写; ➢ RandomAccessFile以随机方式读写
10.2 字节流
一.字节流输入输出类
1. 字节输入流类--InputStream
➢ 输入流类InputStream是各种面向字节的输入流类的超类,由
它派生的类都以XXXInputStream方法命名;
➢ 标准的输入设备:stdin,对象是键盘; ➢ 标准的输出设备:stdout,对象是显示器; ➢ 标准的错误输出:stderr,对象是显示器; ➢ Java通过java.lang包中的System类实现标准的输入输出; ➢ System类不能创建对象,但可以直接使用其三个成员: ➢ System.out:
}
}
10.1.3 java.io包的数据流与文件类
1. 字节流 ➢ 两个面向字节的输入/输出流的超类 ➢ InputStream ➢ OutputStream ➢ 提供了实现输入/输出的多个方法
2. 字符流 ➢ 提供两个面向字符的输入/输出流的超类 ➢ Reader ➢ Writer ➢ 提供了实现输入/输出的多个方法,以Unicode字符为单 位读写
相关文档
最新文档