当前位置:
文档之家› JAVA课程输入输出流.ppt
JAVA课程输入输出流.ppt
14周上机作业1
处理备注中 计算器 中所有可能出现的异常。 1:输入的操作数为字符串的异常 2: 第二个操作数为0时候出现的算数异常 3:自定义异常类ex1:如果第一个操作数大于
100认为是一种越界异常, 写一个方法去判断,如果发现该异常,则抛出 一个ex1类的异常对象,由main函数去捕获
答案在备注中
从文件读入字符流
Writer PrintWriter BufferedWriter OutputStreamWriter FileWriter
一、输入输出类库
Java的输入输出功能必须借助于 输入输出类库Java.io包来实现,这 个包中的类大部分是用来完成流式 输入输出的流类。
流
流是指在计算机的输入与输出之间的数据的序 列,流的特点是数据的发送和获取都是延数据序列 顺序进行的,每个数据必须等待他前面的数据发送 或读入后才能被读写。
抽象类(定义方法给子类继承)
DataInputStream特定数据格式用FileInputStream对象产生
例如double或 float类型的一 个数
FileInputStream类流
FileInputStream流类的构造方法有两个:
FileInputStream(String fileName): 参数fileName表示带路径的磁盘文件名。
FileInputStream(File file): 参数file表示为磁盘文件所建立的File对象
名。
File String
FileInputStream
OutputStream类的主要方法
J void write( )
向输出流写数据
J void write(byte b[])将byte型数组b全部字节顺序写到输出流
格式化输出
DataOutputStream 特定格式输出用FileOutputStream对象产生
FileOutputStream fout= new FileOutputStream(file1); fout.write(类流
FileOutputStream流类的构造方法有两个:
就流的运动方向而言,流可分为输入流 (input stream)和输出流(output stream), 输入流代表从外设流入计算机的数据序列; 输出流代表从计算机流向外设的数据序列。
流的分类
➢ Java中的数据流有位流(字节流)和字 符流之分;
InputStream Byte
字节流 OutputStream
InputStream类
a int read( )
从输入流读入数据,没有数据返回-1
a int read(byte b[]) 从输入流当前位置连续读入多个字节, 保存到byte数组b中,返回读入的字节 数目
a long skip(long n) 跳过流中若干字节数
a void mark( )
在流中标记一个位置
Character
字符流
Reader Writer
输入输出流类
在Java的流类中,最基本的类有两个: 输入流类InputStream和输出流类
OutputStream。 这两个是具有最基本的输入输出功能的抽
象类,其他流类都是为了方便处理各种 特定流而设置的,属于InputStream或 OutputStream的子类。
第十一章
输入与输出
InputStream
抽象类
FileInputStream 对文件操作
FilterInputStream 抽象类(定义方法给子类继承)
DataInputStream
特定数据格式
BufferedInputStream 具缓冲功能
记住他们
OutputStream
抽象类
FileOutputStream 文件操作写一个字节
a void close( )
关闭流
a void reset( )
InputStream类的主要方法
InputStream子类的继承关系
InputStream FileInputStream FilterInputStream
抽象类
每次可以读一个 英文字符
对文件操作 用File或String对象产生
FilterOutputStream 抽象类
PrintStream
格式化输出
DataOutputStream
特定格式输出
BufferedOutputStream 具缓冲功能
Reader
BufferedReader
具有缓冲功能字符输入流
InputStreamReader 字节输入流和字符输入流的桥梁
FileReader
源文件a.txt
FileInputStream对象fin1
程序
源文件b.txt 源文件c.txt
FileInputStream对象fin2 FileOutputStream对象fout
源代码在备注中
【任务9-1】 package ch9.eg9_1;
import java.io.*;//使用字节流合并文件 public class merge { public static void main(String[] args) { FileInputStream fin1,fin2; FileOutputStream fout; try { fin1 = new FileInputStream("example\\eg9_1a.txt"); fin2 = new FileInputStream("example\\eg9_1b.txt"); fout = new FileOutputStream("example\\eg9_1c.txt"); int c = fin1.read(); while (c != -1) { fout.write(c);
FileOutputStream(String fileName): 参数fileName表示带路径的磁盘文件名。
FileOutputStream(File file): 参数file表示为磁盘文件所建立的File对象
名
File String
FileOutputStream
【任务9-1】利用字节流实现文件合并
J void flush( )
强制清空缓冲区
J void close( )
关闭输出流
OutputStream子类的继承关系
OutputStream
抽象类
FileOutputStream 文件操作可以写一个字节 用File或String对象产生 FilterOutputStream 抽象类
PrintStream