《Java流式IO编程》PPT课件.ppt_第1页
《Java流式IO编程》PPT课件.ppt_第2页
《Java流式IO编程》PPT课件.ppt_第3页
《Java流式IO编程》PPT课件.ppt_第4页
《Java流式IO编程》PPT课件.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十五章,Java流式I/O编程,2,目标,掌握java流式输入/输出原理 了解java基本I/O流类型 了解字节流和字符流 了解节点流和处理流,3,Java I/O基本原理,为进行数据的输入/输出操作,Java中把不同的输入/输出源(键盘、文件、网络连接等)抽象表述为“流”(stream)。 java.io包中定义了多个流类型(类或抽象类)来实现输入/输出功能。 两种基本的流:输入流和输出流 输入流: 只能从中读取数据,而不能向其写出数据 输出流: 只能向其写出数据,而不能从中读取数据,4,节点流和处理流,节点流: 可以从/向一个特定的地方(节点)读写数据,例如磁盘或者一块内存。 处理流: 是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读/写功能。,5,节点流和处理流,6,字符流和字节流,按处理数据的单位划分,Java支持两 种基本的流类型: 字符流和字节流,7,InputStream类提供的方法,三个基本的read方法: int read() int read(byte buffer) int read(byte buffer, int offset, int length) 其它方法: void close() int available() skip(long n) boolean markSupported() void mark(int readlimit) void reset(),8,OutputStream类提供的方法,三个基本的write方法: void write(int c) void write(byte buffer) void write(byte buffer, int offset, int length) 其它方法 void close() void flush(),9,Reader类提供的方法,三个基本的read方法: int read() int read(char cbuf) int read(char cbuf, int offset, int length) 其它方法 void close() boolean ready() skip(long n) boolean markSupported() void mark(int readAheadLimit) void reset(),10,Writer类提供的方法,三个基本的write方法: void write(int c) void write(char cbuf) void write(char cbuf, int offset, int length) void write(String string) void write(String string, int offset, int length) 其它方法 void close() void flush(),11,节点流类型(Node Streams),12,节点流应用举例-文件复制,import java.io.*; public class Test1 public static void main(String args) try FileReader input = new FileReader(“Test1.java“); FileWriter output = new FileWriter(“temp.txt“); int read = input.read(); while ( read != -1 ) output.write(read); read = input.read(); input.close(); output.close(); catch (IOException e) System.out.println(e); ,13,缓冲功能处理流举例,import java.io.*; public class Test2 public static void main(String args) try FileReader input = new FileReader(“Test2.java“); BufferedReader br = new BufferedReader(input); FileWriter output = new FileWriter(“temp.txt“); BufferedWriter bw = new BufferedWriter(output); String s = br.readLine(); while ( s!=null ) bw.write(s); bw.newLine(); s = br.readLine(); br.close(); bw.close(); catch (IOException e) e.printStackTrace(); ,14,练习一,练习M14-12/13页的例子,体会不同的数据输入输出流的用法;,15,I/O 流的链接,16,处理流(Processing Streams),17,InputStream类层次,InputStream,FileInputStream,PipedInputStream,ObjectInputStream,SequenceInputStream,FilterInputStream,StringBufferInputStream,ByteArrayInputStream,DataInputStream,BufferedInputStream,PushbackInputStream,LineNumberInputStream,18,OutputStream类层次,OutputStream,FileOutputStream,ObjectOutputStream,FilterInputStream,ByteArrayOutputStream,DataOutputStream,BufferedOutputStream,PrintStream,PipedOutputStream,19,Reader类层次,Reader,BufferedReader,StringReader,CharArrayReader,InputStreamReader,PipedReader,FilterReader,FileReader,PushbackReader,LineNumberReader,20,Writer类层次,Writer,BufferedWriter,StringWriter,CharArrayWriter,PipedWriter,OutputStreamWriter,PrintWriter,FilterWriter,FileWriter,21,使用不同的字符编码,如果需要从与本地机器不同的字符编码格式的文件中读取数据(例如,从网络上的一台基于不同平台的机器上读取文件),可以在构造InputStreamReader对象时显式指定其字符编码,例如: ir = new InputStreamReader(System.in, “ISO8859_1”),22,练习二,分析、运行下面两个程序,体会IO流类的用法。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论