版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、6. Java输入输出上海交通大学计算机科学与工程系w I/O概述w I/O字节流w I/O字符流w 随机访问文件w 文件其它w 模式2018/10/112上海交通大学计算机科学与工程系内容w大部分程序都需要输入/输出处理,比如从键盘读取数据、向屏幕中输出数据、从文件中读或者向文件中写数据、在一个网络连接上进行读写操作等。w在Java中,把这些不同类型的输入、输出抽象为流(Stream),而其中输入或输出的数据则称为数据流(Data Stream),用统一的接口来表示,从而使程序设计简单明了。2018/10/113上海交通大学计算机科学与工程系1. I/O概述w流一般分为输入流(Input S
2、tream)和输出流(OutputStream)两类,但这种划分并不是绝对的。比如一个文件,当向其中写数据时,它就是一个输出流;当从其中读取数据时,它就是一个输入流。当然,键盘只是一个输入流,而屏幕则只是一个输出流。w在Java开发环境中,主要是由包java.io中提供的一系列的类和接口来实现输入/输出处理。标准输入/输出处理则是由包java.lang中提供的类来处理的,但这些类又都是从包java.io中的类继承而来。2018/10/114上海交通大学计算机科学与工程系w在JDK1.1之前,java.io包中的流只有普通的字节流(以byte为基本处理单位的流),这种流对于以16位的Unicod
3、e码表示的字符流处理很不方便。w从JDK1.1开始, java.io包中加入了专门用于字符流处理的类(以Reader和Writer为基础派生的一系列类)。w另外,为了使对象的状态能够方便地永久保存下来,JDK1.1以后的java.io包中提供了以字节流为基础的用于对象的永久化保存状态的机制(通过实现ObjectInput和ObjectOutput接口)。2018/10/115上海交通大学计算机科学与工程系InputStreamwByteArrayInputStream: 允许一个buffer作为输入流StringBufferInputStream:将一个字符串转换成输入流FileInputSt
4、ream:从文件中读入内容PipedInputStream:创建一个管道SequenceInputStream:将两个或更多个输入流合并FilterInputStream :抽象的类,定义了提供进一步功能 DataInputStream:从流中直接读入基本类型 BufferedInputStream:采用Buffer缓存 LineNumberInputStream:跟踪输入流的行数 PushbackInputStream:一般用于编译器ObjectInputStream2018/10/116上海交通大学计算机科学与工程系I/O字节流w OutputStreamn ByteArrayOutput
5、Stream:创建一个Buffer,输出流数据将放入n FileOutputStream:发送信息到文件n PipedOutputStream:管道n FilterOutputStream: DataOutputStream PrintStream:输出 BufferedOutputStreamn ObjectOutputStream2018/10/117上海交通大学计算机科学与工程系ReaderwwWriterBufferedReader:通过缓冲输入BufferedWriter提高性能CharArrayWriter LineNumberReaderPipedWriter StringWri
6、terCharArrayReader:是一个把字符数组作为源的输入流的实现。OutputStreamWriter该类有两个构造函数,每一个都需要一个字符数组提供数据 FileWriter源FilterWriterFilterReaderPrintWriter:PrintWriter本质上是PrintStream的字符 PushbackReader形式的版本。它提供格式InputStreamReader化的输出方法print( )和 FileReader:创建了一个可以读取文件内容的Reader类println( )PipedReaderStringReader2018/10/118上海交通大学
7、计算机科学与工程系I/O字符流wread():从流中读入数据wskip():跳过流中若干字节数wavailable():返回流中可用字节数wmark():在流中标记一个位置wreset():返回标记过得位置wmarkSupport():是否支持标记和复位操作wclose():关闭流2018/10/119上海交通大学计算机科学与工程系2. 字节流InputStreamwint read()从输入流中读一个字节,形成一个0255之间的整数返回(是一个抽象方法)。wint read(byte b)读多个字节到数组中。wint read(byte b, int off, int len)从输入流中读取
8、长度为len的数据,写入数组b中从索引off开始的位置,并返回读取得字节数。w对于这三个方法,若返回1,表明流结束。2018/10/1110上海交通大学计算机科学与工程系wwrite(int b)将一个整数输出到流中(只输出低位字节,抽象)wwrite(byte b)将字节数组中的数据输出到流中wwrite(byte b, int off, int len)将数组b中从off指定的位置开始,长度为len的数据输出到流中wflush():刷空输出流,并将缓冲区中的数据强制送出wclose():关闭流2018/10/1111上海交通大学计算机科学与工程系OutputStreamw 把输入流中的所有内容复制到输出流中public void copy(InputStream in, OutputStream out)throws IOException byte
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高速收费站入口称重检测手册
- 东北抗联不可移动革命文物三维信息采集技术规程
- 企业财务内部控制制度手册
- 铁路运输与安全管理手册
- 流水线精益改善参与工作手册
- 电大制药工程试题及答案
- 2026-2031年中国港口行业市场全景调研及发展趋势预测报告
- 2025年广元中核职业技术学院高职单招职业适应性测试考试题库及1套参考答案详解
- 2027年山西大同云冈职业学院高职单招职业适应性测试考试题库附完整答案详解【名师系列】
- 2024年铜川照金职业学院高职单招职业技能考试模拟试卷含答案详解【典型题】
- 2025届广东省春季高考学业水平考试语文试卷(四)语文试题
- 盆底康复产后康复进修汇报
- T/CAEPI 49-2022污水处理厂低碳运行评价技术规范
- 创新医保支付方式对护理服务的影响及应对
- 封阳台质保合同协议
- 购买仪器合同协议
- 《颈椎椎间孔镜手术》课件
- 部编版小学四年级上册道德与法治全册教案(含教学反思)
- 土建工程安全培训
- 2024年05月四川省遂宁市检验检测中心2024年公开招考2名编外人员笔试历年高频考点(难、易错点)附带答案详解
- 万科物业门岗核实培训
评论
0/150
提交评论