
2Java输入输出技术
2 Java输入输出技术

课程目标CONTENTS流的概念流的分类ITEMSITEMS3字节流编码方式ITEMSITEMS56字符流File类ITEMSITEMS
CONTENTS ITEMS 1流的概念 ITEMS 3字节流 ITEMS 5字符流 ITEMS 2流的分类 ITEMS 4编码方式 ITEMS 6File类 课程目标

什么是流。概念:内存与存储设备之间传输数据的通道传输水的管道相当于流在此过程中,以家庭为参照物水相当于数据生活用水>家庭中流入家庭废水····>下水道流出水库·水借助管道传输;数据借助流传输
什么是流 • 水借助管道传输;数据借助流传输。 水相当于数据 • 概念:内存与存储设备之间传输数据的通道。 传输水的管道相当于流 在此过程中,以家庭为参照物: 生活用水->家庭中:流入 家庭废水->下水道:流出

流的分类·J2SDK所提供的所有流类型位于iava.io包,其中定义了多个流类型(类或抽象类)来实现输入/输出功能;可以从不同的角度对其进行分类:·按方向:·输入流:将中的内容读入到中。。输出流:将中的内容写入到中。输入流输出流文件文件程序
• J2SDK所提供的所有流类型位于java.io包,其中定义了多个流类型(类或抽 象类)来实现输入/输出功能;可以从不同的角度对其进行分类: • 按方向: • 输入流:将 中的内容读入到中。 • 输出流:将中的内容写入到中。 流的分类 文件 程序 文件 输入流 输出流

流的分类·按单位:·字节流:以字节为单位,可以读写所有数据节点流·字符流:以字符为单位,只能读写文本数据。程序数据源·按功能:·节点流:具有实际传输数据的读写功能,是可以从一个特定的数据源(节点)读写数据(如:文件,内存等)。·处理流:在节点流(或处理流)的基础之上提供更为强大的读写功能程序数据源·包iava.io内的所有流类位于都分别继承自以下四种抽象流类型处理流字节流字符流输入流ReaderInputStream输出流WriterOutputStream
流的分类 • 按单位: • 字节流:以字节为单位,可以读写所有数据。 • 字符流:以字符为单位,只能读写文本数据。 • 按功能: • 节点流:具有实际传输数据的读写功能,是可以从一个特定的数据源(节点)读写数据( 如:文件,内存等)。 • 处理流:在节点流(或处理流)的基础之上提供更为强大的读写功能。 • 包java.io内的所有流类位于都分别继承自以下四种抽象流类型: 字节流 字符流 输入流 InputStream Reader 输出流 OutputStream Writer 数据源 节点流 程序 数据源 程序 处理流

Astreamreads程序Source当程序要从数据源获得数据时,必须在程序和数据源之间建立输入流。Astreamwrites程序dest当程序要把结果输送到数据宿时,必须在程序和数据宿之间连接建立输出流
6.2 输入输出流的分类 Source A stream reads ◼ 当程序要从数据源获得数据时,必须在程序和数据源之 间建立输入流。 ◼ 当程序要把结果输送到数据宿时,必须在程序和数据宿 之间连接建立输出流。 dest writes A stream 程序 程序

字节流public intread()throwslOException)。字节流的父类(抽象类):1/读取一个字节并以整数的形式返回(0~255),如果返回-1,表示已读到输入流的末尾public intread(byteb))·InputStream:字节输入流1/返回值为实际读取的字节的数量,如果读取前已到输入流的末尾则返回-1public int read(byte b,int off,int len))publicvoidclose();//关闭流释放内存资源publicvoidwrite(int n)throwsIoException)//向输出流中写一个字节数据,该数据为参数b的低8位public voidwrite(byteb))public void write(byte b,int off,int len))·OutputStream:字节输出流public void close()publicvoidflush(//刷新此输出流并强制写出所有缓冲的输出字节,由于某些流支持缓存功能,经常在close()前使用
字节流 • 字节流的父类(抽象类): • InputStream:字节输入流 • OutputStream:字节输出流 public int read() throws IOException{} //读取一个字节并以整数的形式返回(0~255),如果返回-1, 表示已读到输入流的末尾 public int read(byte[] b){} //返回值为实际读取的字节的数量,如果读取前已到输入流的末尾 则返回-1 public int read(byte[] b,int off,int len){} public void close(); //关闭流释放内存资源 public void write(int n) throws IOException{} //向输出流中写一个字节数据,该数据为参数b的低8位 public void write(byte[] b){} public void write(byte[] b,int off,int len){} public void close() public void flush()//刷新此输出流并强制写出所有缓冲的 输出字节,由于某些流支持缓存功能,经常在close()前使用

字节流InputStream类InputStream类,是一种抽象类继承自它的流都是用于向程序中输入数据,且数据的单位为字节(8位)InputStreamPushbackInputStreamFileInputStreamDataInputStreamPipedIntputStreamBufferedInputStreamFilterInputStreamLineNumberInputStreamByteArraylnputStreamSequencedInputStreamStringBufferInputStreamObjectInputStream
字节流——InputStream类 ⚫ InputStream类,是一种抽象类。 ⚫ 继承自它的流都是用于向程序中输入数据,且数据的单位为字节(8位)。 InputStream FileInputStream PipedIntputStream FilterInputStream ByteArrayInputStream DataInputStream BufferedInputStream LineNumberInputStream SequencedInputStream StringBufferInputStream PushbackInputStream ObjectInputStream

字节流一OutputStream类OutputStream类,是一种抽象类。继承自它的流都是用于从程序中输出数据,且数据的单位为字节(8位)OutputStreamFileOutputStreamDataOutputStreamBufferedOutputStreamPipeOutputStreamFilterOutputStreamPrintStreamByteArrayOutputStreamObjectOutputStream
字节流——OutputStream类 ⚫ OutputStream类,是一种抽象类。 ⚫ 继承自它的流都是用于从程序中输出数据,且数据的单位为字节(8位)。 OutputStream FileOutputStream PipeOutputStream FilterOutputStream ByteArrayOutputStream DataOutputStream BufferedOutputStream PrintStream ObjectOutputStream

字符流。字符流的父类(抽象类):publicintread()throwsloException)public int read(char c))public int read(char b, int off, int len))·Reader:字符输入流publicvoidclose()0public void write(int n))public void write(String str))·Writer:字符输出流public void write(char c))public void close()0public void flush())
字符流 • 字符流的父类(抽象类) : • Reader:字符输入流 • W riter:字符输出流 public int read() throws IOException{} public int read(char[] c){} public int read(char[] b, int off, int len){} public void close(){} public void write(int n){} public void write(String str){} public void write(char[] c){} public void close(){} public void flush(){}