




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培训课件费报销调研
- 幼儿园小班教案《多嘴的八哥鸟》含反思
- 2025年智慧城市公共设施场地租赁与智能化服务合作协议
- 2025年社会福利院消防安全设施建设与安装合同
- 2025年汽车租赁免责及全方位保险理赔保障服务协议
- 珠宝品牌授权经营合作协议
- 2025年城市公共交通柴油能源供应及维护服务合作协议
- 2025年绿色住宅小区配套设施建设与维护合同
- 2025年古建筑群景观设计及施工一体化合同范本
- 2025年电商行业供应链金融货款抵押担保服务协议
- 广西2025年公需科目学习考试试题及答案4
- 代加工板材合同协议书范本
- 2025年事业单位工勤技能-湖南-湖南地质勘查员二级(技师)历年参考题库含答案解析(5卷)
- 肝炎的分型及护理
- 高中语文38篇课内文言文挖空一遍过(教师版)
- 2025年高考真题物理(四川卷)-2
- 企业负责人财税知识培训
- 【前程无忧】2025校招人才素质洞察白皮书
- 船舶制造公司管理制度
- 2025至2030年中国石油化工自动化仪表产业发展动态及未来趋势预测报告
- 中建EPC项目报批报建工作指南
评论
0/150
提交评论