java数据流操作
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
BufferedOutputStream PrintStream
DataOutputStream
8
(一)、OutputStream
OutputStream为所有的字节流输出流的父类,因 此所有源自于它的类也会继承下列的方法:
void write(int b):写入一个字节的数据。
void write(byte[] buttfer):讲数组buffer的数据写 入流。
.
7
InputStream
输入流 输出流的类继承关系
FileInputStream StringBufferInputStream ByteArrayInputStream
SequenceInputStream PipedInputStream
FilterInputStream
OutputStream
public static PrintStream err 输出错误信息的标准错误流。
.
5
例11-1:标准输入输出举例
程序运行如下: 输入:a,b,c,d 输出:a,b,c,d 输入:^Z (注:输入复合键CTRL. -Z) 输出: program end6
第2节 文件的顺序访问
一、 字节流 字节流是用来读写8位的数据,由于不会对数据
第11章 Java数据流
[内容提要] 大部分程序都需要数据的输入和输出,
从键盘读取数据,
向文件写入数据或从文件获取数据,
将数据通过打印机打印出来,
通过网络进行信息交换
本章介绍Java标准程序库中各种处理I/O 操作的类
的用途及使用方法。 .
1
第1节 输入/输出概念
一、 流的概述 Java使用流(stream)来执行输入输出(I/O)
常用的构造函数如下:
FileInputStream(String name): 打开文件name用来读取 数据。
FileInputStream(File file): 打开文件file用来读取数据。
FileOutputStream(String name): 打开文件name用来写入 数据。
FileOutputStream(File file): 打开文件file用来写入数据。
FileOutputStream(String name,Boolean append): 打开文 件name用来写入数据,若append为true,则写入的数据 会加到原有文件后面,否则,覆盖原有的文件。
.
11
将FileExam.java复制为FileExam.java.bak。
1) 程序首先打开FileExam.java文件,
2) 使用read()将其内容逐字节读取出来(如果返 回值为-1,则表明已到达文件尾端),
3) 再使用write()将读出的字节逐一写入另一个 文件FileExam.java.bak中。
FileOutputStream ByteArrayOutputStream
PipedOutputStream FilterOutputStream
BufferedInputStream LineNumberInputStream
DataInputStream PushbackInputStream
的功能,流是一种数据的源头和目的之 间的通信途径。 用于读入数据称为输入流(input stream), 用于写出数据称为输出流(output stream)。
当使用流时需要使用java.io包,因此在涉及数
据流操作的程序中ห้องสมุดไป่ตู้要先导入java.io包:
import java.io.*;
.
2
二、 I/O类层次结构
void write(byte[],int offset int len):从buffer[offset] 开始,写入len个字节的数据。
void flush():强制将buffer内的数据写入流。
void close():关闭流。
.
9
(二)、InputStream
InputStream为所有的字节输入流的父类,因此 所有源于它的类也会继承下列的方法:
int available(): 返回流内可供读取的字节数目。 long skip(long n): 跳过n个字节的数据,返回值为
实际所跳过的数据数。 void close(): 关闭流。
.
10
(三)、FileInputStream和FileOutputStream
FileInputStream用来读取一个文件,FileOutPutStream用 来将数据写入文件。
Java提供超过60个不同的流类型,这些流 类包含在上面提到的java.io包中,
四个基本的抽象类:
InputStream、OutputStream、Reader和 Writer。
你不能创建这四个类型的对象,但是其他 的方法的返回值可以是他们
.
3
事实上,我们经常使用的是 派生自他们的子类。 java.io包的结构如图11-1:
int read():读入一个字节的数据,如果已达到文 件的末端,返回值为-1。
int read(byte[] buffer):读出buffer大小的数据, 返回值为实际所读出的字节。
int read(byte[] buffer,int offset,int len):将读出的 数据从buffer[offset]开始,写入len个字节至 buffer中,返回值为实际所读出的字节数目。
作任何转换,因此可以用来处理二进制的数据。
(一)、OutputStream (二)、InputStream (三)、FileInputStream和FileOutputStream (四)、ByteArrayInputStream和ByteArrayOutputStream (五)、BufferedInputStream和BufferedOutputStream
.
4
三、 标准输入输出 在System类中有三个静态域System.in、System.out 和System.err。
可以在标准位置使用这三个系统流进行I/O操作。
public static InputStream in 读取字符数据的标准输入流。
public static PrintStream out 显示或打印输出信息的标准输出流
BufferedOutputStream PrintStream
DataOutputStream
8
(一)、OutputStream
OutputStream为所有的字节流输出流的父类,因 此所有源自于它的类也会继承下列的方法:
void write(int b):写入一个字节的数据。
void write(byte[] buttfer):讲数组buffer的数据写 入流。
.
7
InputStream
输入流 输出流的类继承关系
FileInputStream StringBufferInputStream ByteArrayInputStream
SequenceInputStream PipedInputStream
FilterInputStream
OutputStream
public static PrintStream err 输出错误信息的标准错误流。
.
5
例11-1:标准输入输出举例
程序运行如下: 输入:a,b,c,d 输出:a,b,c,d 输入:^Z (注:输入复合键CTRL. -Z) 输出: program end6
第2节 文件的顺序访问
一、 字节流 字节流是用来读写8位的数据,由于不会对数据
第11章 Java数据流
[内容提要] 大部分程序都需要数据的输入和输出,
从键盘读取数据,
向文件写入数据或从文件获取数据,
将数据通过打印机打印出来,
通过网络进行信息交换
本章介绍Java标准程序库中各种处理I/O 操作的类
的用途及使用方法。 .
1
第1节 输入/输出概念
一、 流的概述 Java使用流(stream)来执行输入输出(I/O)
常用的构造函数如下:
FileInputStream(String name): 打开文件name用来读取 数据。
FileInputStream(File file): 打开文件file用来读取数据。
FileOutputStream(String name): 打开文件name用来写入 数据。
FileOutputStream(File file): 打开文件file用来写入数据。
FileOutputStream(String name,Boolean append): 打开文 件name用来写入数据,若append为true,则写入的数据 会加到原有文件后面,否则,覆盖原有的文件。
.
11
将FileExam.java复制为FileExam.java.bak。
1) 程序首先打开FileExam.java文件,
2) 使用read()将其内容逐字节读取出来(如果返 回值为-1,则表明已到达文件尾端),
3) 再使用write()将读出的字节逐一写入另一个 文件FileExam.java.bak中。
FileOutputStream ByteArrayOutputStream
PipedOutputStream FilterOutputStream
BufferedInputStream LineNumberInputStream
DataInputStream PushbackInputStream
的功能,流是一种数据的源头和目的之 间的通信途径。 用于读入数据称为输入流(input stream), 用于写出数据称为输出流(output stream)。
当使用流时需要使用java.io包,因此在涉及数
据流操作的程序中ห้องสมุดไป่ตู้要先导入java.io包:
import java.io.*;
.
2
二、 I/O类层次结构
void write(byte[],int offset int len):从buffer[offset] 开始,写入len个字节的数据。
void flush():强制将buffer内的数据写入流。
void close():关闭流。
.
9
(二)、InputStream
InputStream为所有的字节输入流的父类,因此 所有源于它的类也会继承下列的方法:
int available(): 返回流内可供读取的字节数目。 long skip(long n): 跳过n个字节的数据,返回值为
实际所跳过的数据数。 void close(): 关闭流。
.
10
(三)、FileInputStream和FileOutputStream
FileInputStream用来读取一个文件,FileOutPutStream用 来将数据写入文件。
Java提供超过60个不同的流类型,这些流 类包含在上面提到的java.io包中,
四个基本的抽象类:
InputStream、OutputStream、Reader和 Writer。
你不能创建这四个类型的对象,但是其他 的方法的返回值可以是他们
.
3
事实上,我们经常使用的是 派生自他们的子类。 java.io包的结构如图11-1:
int read():读入一个字节的数据,如果已达到文 件的末端,返回值为-1。
int read(byte[] buffer):读出buffer大小的数据, 返回值为实际所读出的字节。
int read(byte[] buffer,int offset,int len):将读出的 数据从buffer[offset]开始,写入len个字节至 buffer中,返回值为实际所读出的字节数目。
作任何转换,因此可以用来处理二进制的数据。
(一)、OutputStream (二)、InputStream (三)、FileInputStream和FileOutputStream (四)、ByteArrayInputStream和ByteArrayOutputStream (五)、BufferedInputStream和BufferedOutputStream
.
4
三、 标准输入输出 在System类中有三个静态域System.in、System.out 和System.err。
可以在标准位置使用这三个系统流进行I/O操作。
public static InputStream in 读取字符数据的标准输入流。
public static PrintStream out 显示或打印输出信息的标准输出流