
JavaSunMicrotytemJava语言程序设计文件1/0
1 Java语言程序设计 文件I/O

JavaI/O操作JAVA概念Java I/0类JavaI/0操作标准输入/输出文件读写操作目录管理随机访问文件文件属性
2 Java I/O操作 ◼ 概念 ◼ Java I/O类 ◼ Java I/O操作 ◼ 标准输入/输出 ◼ 文件读写操作 ◼ 目录管理 ◼ 随机访问文件 ◼ 文件属性

概念JAVAI/0来源控制台(console,如DOS窗口)>打印 /读入文件(file)→读 / 写网络接口(TCP/UDP端口)→读/写内存针对数据的读写以流(stream)的方式对数据进行操作流 一读出程序流的重要特性数据数据源顺序读/写流写入-sequentially程序数据目的3
3 概念 ◼ I/O来源 ◼ 控制台(console, 如DOS窗口)→打印/读入 ◼ 文件(file)→读/写 ◼ 网络接口(TCP/UDP端口)→读/写 ◼ 内存 ◼ 针对数据的读写 ◼ 以流(stream)的方式对数据进行操作 数据源 程序 读出 数 据 流 程序 目的 写入 数 据 流 流的重要特性 ◼顺序读/写 ◼sequentially

概念JAVA读/写流的一般流程读(Reading)//打开读出流open a stream1.2. while more information / /判断3./ /读readinformation4.close the stream/ / 关闲流写 (Writing)/ /打开写入流1.open a stream2.while more information //判断3.//写write information/ / 关闲流4.closethe stream4
4 概念 ◼ 读/写流的一般流程 ◼ 读(Reading) 1. open a stream //打开读出流 2. while more information //判断 3. read information //读 4. close the stream //关闭流 ◼ 写(Writing) 1. open a stream //打开写入流 2. while more information //判断 3. write information //写 4. close the stream //关闭流

概念JAVA两种流的定义(读取信息的基本数据单位)字节流(byte stream): 一个字节(8-bit)一个字节读/写字符流(character stream):一个字符一个字符读/写(具有特定字符编码的数据)ava语言6A 61 76 61 D3 EF D1 D4以字节流的方式读:读8次,8个字节以字符流的方式读:读6次,6个字符5
5 概念 ◼ 两种流的定义(读取信息的基本数据单位) ◼ 字节流(byte stream): 一个字节(8-bit)一个字 节读/写 ◼ 字符流(character stream):一个字符一个字符 读/写(具有特定字符编码的数据) j a v a 语 言 6A 61 76 61 D3 EF D1 D4 以字节流的方式读: 读8次,8个字节 以字符流的方式读: 读6次,6个字符

JavaI/O操作JAVA概念JavaI/O类JavaI/O操作标准输入/输出文件读写操作目录管理随机访问文件文件属性6
6 Java I/O操作 ◼ 概念 ◼ Java I/O类 ◼ Java I/O操作 ◼ 标准输入/输出 ◼ 文件读写操作 ◼ 目录管理 ◼ 随机访问文件 ◼ 文件属性

JavaI/O类JAVA字节流的读/写操作(来自JDK1.0)java.io.InputStream (抽象类)public abstract int readO1.2.public int read(byte b[l)3.public int read(byte bl, int offset, int length)到达流的终点,无数据读出则返回-14.java.io.OutputStream (抽象类)1. public abstract void write(int b)2. public void write(byte b[)3. public void write(byte b[l, int offset, int length)所有的读/写函数都抛出java.io.IoException1
7 Java I/O类 ◼ 字节流的读/写操作(来自JDK1.0) ◼ java.io.InputStream (抽象类) 1. public abstractint read() 2. public int read(byte b[]) 3. public int read(byte b[], int offset, int length) 4. 到达流的终点,无数据读出则返回-1 ◼ java.io.OutputStream (抽象类) 1. public abstract void write(int b) 2. public void write(byte b[]) 3. public void write(byte b[], int offset, int length) ◼ 所有的读/写函数都抛出java.io.IOException

JavaI/O类JAVA字符流的读/写操作(来自JDK1.1)java.io.Reader (抽象类)1. public int readO2.public int read(char cbuf[)3. publc abstract int read(char cbufll, int offset, intlength)到达流的终点,无数据读出则返回-14. java.io.Writer(抽象类)1.public void write(intc)2. public void write(char cbufl)3. public void write(char cbufl, int offset, int length所有的读/写函数都抛出java.io.IOException8
8 Java I/O类 ◼ 字符流的读/写操作(来自JDK1.1) ◼ java.io.Reader (抽象类) 1. public int read() 2. public int read(char cbuf[]) 3. publc abstract int read(char cbuf[], int offset, int length) 4. 到达流的终点,无数据读出则返回-1 ◼ java.io.Writer (抽象类) 1. public void write(int c) 2. public void write(char cbuf[]) 3. public void write(char cbuf[], int offset, int length) ◼ 所有的读/写函数都抛出java.io.IOException

JavaI/O类JAVAI/0流的层次关系class java.io.InputStream的子类class java.io.ByteArraylnputStreamclassjava.io.FilelnputStreamclass java.io.FilterInputStreamclassjava.io.BufferedlnputStreamclassjava.io.DatalnputStreamclass java.io.LineNumberInputStreamclassjava.io.PushbacklnputStreamclass java.io.ObjectInputStreamclass java.io.PipedInputStreamclass java.io.SequencelnputStreamclass java.io.StringBufferlnputStream9
9 Java I/O类 ◼ I/O流的层次关系 ◼ class java.io.InputStream的子类 ◼ class java.io.ByteArrayInputStream ◼ class java.io.FileInputStream ◼ class java.io.FilterInputStream ◼ class java.io.BufferedInputStream ◼ class java.io.DataInputStream ◼ class java.io.LineNumberInputStream ◼ class java.io.PushbackInputStream ◼ class java.io.ObjectInputStream ◼ class java.io.PipedInputStream ◼ class java.io.SequenceInputStream ◼ class java.io.StringBufferInputStream ◼ . .

JavaI/O类JAVAI/0流的层次关系class java.io.OutputStream的子类class java.io.ByteArrayOutputStreamclass java.io.FileOutputStreamclass java.io.FilterOutputStreamclassjava.io.BufferedOutputStreamclassjava.io.DataOutputStreamclass java.io.PrintStreamclass java.io.ObjectOutputStreamclass java.io.PipedOutputStream10
10 Java I/O类 ◼ I/O流的层次关系 ◼ class java.io.OutputStream的子类 ◼ class java.io.ByteArrayOutputStream ◼ class java.io.FileOutputStream ◼ class java.io.FilterOutputStream ◼ class java.io.BufferedOutputStream ◼ class java.io.DataOutputStream ◼ class java.io.PrintStream ◼ class java.io.ObjectOutputStream ◼ class java.io.PipedOutputStream ◼ . .