What is the stream?(什么是场? 流是数据的有序序列,流可分为输入流和输 出流 输入流指从某个数据来源输入的数据序列 输出流指将向某个数据目的地输岀的数据序 列 Java.lo包中定义与输入、输出流相关的类和 接口,构成了Java语言的O框架
What is the stream? (什么是流?) • 流是数据的有序序列,流可分为输入流和输 出流 • 输入流指从某个数据来源输入的数据序列 • 输出流指将向某个数据目的地输出的数据序 列 • java.io包中定义与输入、输出流相关的类和 接口,构成了Java语言的I/O框架
Java. lo Package overview Java.10包中类和接口从功能上主要分为字符 流类型和字节流类型 字符流是指数据序列的基本构成单位是16位 的 Unicode字符数据,如各类基于字符编码 的文本文件 字节流是指数据序列的基本构成单位是8位 的字节数据,如各类基于二进制数据的文件
java.io Package Overview • java.io包中类和接口从功能上主要分为字符 流类型和字节流类型 • 字符流是指数据序列的基本构成单位是16位 的Unicode字符数据,如各类基于字符编码 的文本文件 • 字节流是指数据序列的基本构成单位是8位 的字节数据,如各类基于二进制数据的文件
Java. lo Package overview java,io包中的类和接口可分为以下几类: ()高层抽象类用于表示各种不同的流 (②)各种特殊类型的流类,如过滤器流、缓 冲流、管道流等 (3)数据流类用于输入、输出基本数据类型 数据或字符串对象 (4)用于文件读写的类和接口 (5)用于对象序列化的类和接口
java.io Package Overview • java.io包中的类和接口可分为以下几类: (1) 高层抽象类用于表示各种不同的流 (2) 各种特殊类型的流类,如过滤器流、缓 冲流、管道流等 (3) 数据流类用于输入、输出基本数据类型 数据或字符串对象 (4) 用于文件读写的类和接口 (5) 用于对象序列化的类和接口
Byte streams 。字节流可分为输入字节流和输岀字节流 抽象类 Java.1o, Inputstream用于表示所有输 入字节流 抽象类 Java.Io. Outputstream用于表示所有 输出字节 所有的流类对象在使用 使用 后必须关闭
Byte Streams • 字节流可分为输入字节流和输出字节流 • 抽象类 java.io.InputStream 用于表示所有输 入字节流 • 抽象类 java.io.OutputStream 用于表示所有 输出字节流 • 所有的流类对象在使用前必须打开,在使用 后必须关闭
java.io. InputStreann Class 该抽象类作为所有输入字节流类的基类,声 明用于读取字节流数据的通用方法 public abstract int reado public int read (bytell buf, int offset, int count) public int read(bytel buf) public long skip(long count public int available( public void closed
java.io.InputStream Class • 该抽象类作为所有输入字节流类的基类,声 明用于读取字节流数据的通用方法: public abstract int read() public int read(byte[] buf, int offset, int count) public int read(byte[] buf) public long skip(long count) public int available() public void close()
jay impor java. io class Count Bytes( .a public static void main(Stringll args)throws IOException Inputstream in 以指定文件数据 try 作为数据流 in=new FileInputStream(args[0D; int total=0; 计算输入数 whie( inread0=1)+据的字节数 total++ 出除 System. out. printIn( totah“ bytes”); 3 finally if(in=null) 关闭已打开 try in close; 的输入流 用 catch(IOException e C用
java.io.InputStream Class • 当创建InputStream类对象时,便自动打开 了对象所表示的输入流 • InputStream所有与输入相关的方法声明抛 出异常类IOException • InputStream类的对象在完成数据输入后, 除标准输入流类对象System.in外,必须调用 close方法关闭输入流,通常可将该方法的调 用放入finally语句块中 import java.io.*; class CountBytes{ public static void main(String[] args) throws IOException{ InputStream in; try{ in=new FileInputStream(args[0]); int total=0; while(in.read()!=-1) total++; System.out.println(total+“ bytes”); } finally{ if(in!=null) try{ in.close(); } catch(IOException e){ } } } } 以指定文件数据 作为数据流 计算输入数 据的字节数 关闭已打开 的输入流
java io. OutputStreann Class 该抽象类作为所有输出字节流类的基类,声 明用于输出字节流数据的通用方法: public abstract void write(int b) public void write(bytel buf, int offset, int count public void write(byte public void flush public void closed
java.io.OutputStream Class • 该抽象类作为所有输出字节流类的基类,声 明用于输出字节流数据的通用方法: public abstract void write(int b) public void write(byte[] buf, int offset, int count) public void write(byte[]) public void flush() public void close()
a\ Import java.10. class Translate Byte public static void main(Stringl args)throws IOException byte from=(byte)args[ O].charAt(O) byte to=(byte)args[1. charAt(1); int b while((b=System. in readO)=-1 System. out. write(bfrom? to: b); java Tranlate Byte b b C输入 abracadabra a Bracada Bra
java.io.OutputStream Class • 当创建OnputStream类对象时,便自动打开 了对象所表示的输出流 • OutputStream所有与输出相关的方法声明 抛出异常类IOException • OutputStream类的对象在完成数据输出后, 除标准输出流对象System.out外,必须调用 close方法关闭输出流 import java.io.*; class TranslateByte{ public static void main(String[] args) throws IOException{ byte from=(byte)args[0].charAt(0); byte to=(byte)args[1].charAt(1); int b; while((b=System.in.read())!=-1) System.out.write(b==from ? to : b); } } java TranlateByte b B 输入:abracadabra! aBracadaBra!
Character streams 。字符流可分为输入字符流和输岀字符流 抽象类 Java.1o, Reader用于表示所有输入字 符流 抽象类 Java.Io. Writer用于表示所有输出字 符流
Character Streams • 字符流可分为输入字符流和输出字符流 • 抽象类 java.io.Reader 用于表示所有输入字 符流 • 抽象类 java.io.Writer 用于表示所有输出字 符流
Java.io Reader Class 该抽象类作为所有输入字符流类的基类,声明用 于读取输入字符文本数据的通用方法: public int reado public abstract int read(charl buf, int offset, count public int read(charl buf) public long skip(long count public int available public abstract void close
Java.io.Reader Class • 该抽象类作为所有输入字符流类的基类,声明用 于读取输入字符文本数据的通用方法: public int read() public abstract int read(char[] buf, int offset, int count) public int read(char[] buf) public long skip(long count) public int available() public abstract void close()