




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第八章 java的输入输出,8.1 流概念 8.2 Java用于输入输出流的类 8.3 数据池流的使用 8.4 处理流的使用 8.5 文件随机读取,2,8.1 流概念,Java使用流的机制实现输入输出。 流:是一个数据序列。有两种流: 1. 输入流 2. 输出流,第八章 java的输入输出,3,8.1 流概念,1. 输入流 通过打开一个到数据源(文件、内存或网络端口上的数据)的输入流,程序可以从数据源上顺序读取数据。,第八章 java的输入输出,4,8.1 流概念,1. 输入流 读数据的逻辑为: open a stream while more information read information close the stream,第八章 java的输入输出,5,8.1 流概念,2. 输出流 通过打开一个到目标的输出流,程序可以向外部目标顺序写数据。,第八章 java的输入输出,6,8.1 流概念,2. 输出流 写数据的逻辑为: open a stream while more information write information close the stream,第八章 java的输入输出,7,8.2 Java用于输入输出流的类,按所读写的数据类型分两类: 字符流类(Character Streams) 字符流类用于向字符流读写16位二进制字符。 字节流类(Byte Streams) 字节流类用于向字节流读写8位二进制的字节。一般地,字节流类主要用于读写诸如图象或声音等的二进制数据。,第八章 java的输入输出,8,8.2 Java用于输入输出流的类,java.io中的基本流类: 说明:它们是抽象类,不能直接创建对象。,第八章 java的输入输出,9,8.2 Java用于输入输出流的类,1. InputStream 方法 The three basic read methods: int read() int read( byte buffer) int read( byte buffer, int offset, int length) The other methods: void close() int available() skip( long n),第八章 java的输入输出,10,8.2 Java用于输入输出流的类,2. OutputStream 方法 The three basic write methods: void write( int c) void write( byte buffer) void write( byte buffer, int offset, int length) The other methods: void close() void flush(),第八章 java的输入输出,11,8.2 Java用于输入输出流的类,3. Reader Methods The three basic read methods: int read() int read( char cbuf) int read( char cbuf, int offset, int length) The other methods: void close() boolean ready() skip( long n),第八章 java的输入输出,12,8.2 Java用于输入输出流的类,4. Writer 方法 The three basic write methods: 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) The other methods: void close() void flush(),第八章 java的输入输出,13,8.2 Java用于输入输出流的类,5. InputStream Class的继承关系:,第八章 java的输入输出,14,8.2 Java用于输入输出流的类,6. OutputStream Class的继承关系:,第八章 java的输入输出,15,8.2 Java用于输入输出流的类,7. Reader Class的继承关系:,第八章 java的输入输出,16,8.2 Java用于输入输出流的类,8. Writer Class的继承关系:,第八章 java的输入输出,17,8.3 数据流的使用,对输入/输出流类按用途分: 数据的发起与接收流 :用于向诸如字符串、文件、管道等专用的数据池读写数据。不同的数据池由不同的类实现。 处理流:处理流类在进行读写时要执行某种处理,如缓冲、编码等,第八章 java的输入输出,18,8.3 数据流的使用,第八章 java的输入输出,19,8.3 数据流的使用,1.如何使用文件流: 例题:将一个文件的内容拷贝到另一个文件。 见:copy.java,第八章 java的输入输出,20,介绍 File 类,第八章 java的输入输出,File类用来访问本地文件系统中的文件和目录。 1. 创建File类 myFile = new File(“ myfile. txt“); File myDir = new File(“ MyDocs“); myFile = new File( myDir, “myfile. txt“);,21,介绍 File 类,第八章 java的输入输出,2. File类中的方法 File names: String getName() String getPath() String getAbsolutePath() String getParent() boolean renameTo( File newName),File tests: boolean exists() boolean canWrite() boolean canRead() boolean isFile() boolean isDirectory(),22,介绍 File 类,第八章 java的输入输出,2. File类中的方法 General file information and utilities: long length() boolean delete() Directory utilities: boolean mkdir() String list() 见例题:File.txt,23,8.3 数据流的使用,2.如何使用管道流: 信息管道是本身是虚拟的,但为线程或程序提供了通过流进行通信的功能。,第八章 java的输入输出,进程1,进程2,24,8.3 数据流的使用,使用管道的好处:,第八章 java的输入输出,25,8.3 数据流的使用,2.如何使用管道流: 例题: 一个线程将一个字符串传递给另一个线程。 见:PipedIOApp.java,第八章 java的输入输出,26,8.4 处理流的使用 Processing Streams,第八章 java的输入输出,27,8.4 处理流的使用 Processing Streams,第八章 java的输入输出,1. Buffered Streams 见例题:TestBufferedStreams.java,28,8.4 处理流的使用 Processing Streams,第八章 java的输入输出,2. 对标准输出输出的操作。 System. out :an object of PrintStream类 System. in:object of InputStream类 System. err:PrintStream 例题:从标准输入设备中读数据。 见:KeyboardInput.java,29,8.4 处理流的使用 Processing Streams,第八章 java的输入输出,2. 对标准输出输出的操作。 重导向标准IO 在System类中允许我们重新定向标准输入、输出以及错误IO流。此时要用到下述简单的静态方法调用: setIn(InputStream) setOut(PrintStream) setErr(PrintStream) 见例题:Redirecting.java,30,8.4 处理流的使用 Processing Streams,第八章 java的输入输出,3. SequenceInputStream 流。 例题:将两个文件输入流合并成一个输入流。 见:SequenceIOApp.java,31,8.4 处理流的使用 Processing Streams,第八章 java的输入输出,4. DataInputStream and DataOutputStream 提供了允许从流读写任意对象与基本数据类型功能的方法。 见例题DataIOTest.java,32,8.5 文件随机读取 Random Access Files,第八章 java的输入输出,1. 创建随机文件: myRAFile = new RandomAccessFile( String name, String mode); myRAFile = new RandomAccessFile( File file, String mode); 例如: new RandomAccessFile(“farrago.txt“, “r“); new RandomAccessF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育机器人技术在特殊教育中的运用
- 教育技术中的交互设计-以包容性为核心
- 公交优先战略下2025年城市交通拥堵治理成本效益分析报告
- 福建省泉州市2024-2025学年九上化学期末经典模拟试题含解析
- 嵩山少林武术职业学院《企业文化建设》2023-2024学年第一学期期末试卷
- 承德护理职业学院《汽车造型设计2》2023-2024学年第一学期期末试卷
- 宿迁职业技术学院《网页设计与制作实验》2023-2024学年第一学期期末试卷
- 陕西科技大学镐京学院《建筑火灾防治与风险评估》2023-2024学年第一学期期末试卷
- 云南弥勒市2024年化学九上期末综合测试模拟试题含解析
- 藁城舒卿培训课件
- 2024-2030年中国DevOps工具行业市场发展趋势与前景展望战略分析报告
- 计算机系统设计及计算机网络专业毕业论文
- (正式版)QB∕T 8049-2024 家用和类似用途微压富氧舱
- 聊城小升初英语试卷
- 物业管理分包协议模板
- 汽轮机辅机检修(第二版)高级工题库
- 卵巢黄体破裂诊治中国专家共识(2024年版)
- 中医护理中药热奄包
- 2024广西钦州市北部湾大学招聘审计处工程审计科科员1人笔试备考题库及答案解析
- 《工业用水软化除盐设计规范》
- 中华民族共同体概论课件专家版10第十讲 中外会通与中华民族巩固壮大(明朝时期)
评论
0/150
提交评论