




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于流的知识点一、IO流的三种分类方式 1.按流的方向分为:输入流和输出流 2.按流的数据单位不同分为:字节流和字符流 3.按流的功能不同分为:节点流和处理流二、IO流的四大抽象类: Java的字节流 InputStream是所有字节输入流的祖先,而OutputStream是所有字节输出流的祖先。 Java的字符流Reader是所有读取字符串输入流的祖先,而writer是所有输出字符串的祖先。字节流 字符流输入流 InputStream Reader输出流 OutputStream Writer 字符流:Reader Writer 字节流:InputStream(读数据) OutputStream(写数据) 三、InputStream的基本方法 int read() throws IOException 读取一个字节以整数形式返回,如果返回-1已到输入流的末尾 void close() throws IOException 关闭流释放内存资源 long skip(long n) throws IOException 跳过n个字节不读 四、OutputStream的基本方法 void write(int b) throws IOException 向输出流写入一个字节数据 void flush() throws IOException 将输出流中缓冲的数据全部写出到目的地 五、Writer的基本方法 void write(int c) throws IOException 向输出流写入一个字符数据 void write(String str) throws IOException将一个字符串中的字符写入到输出流 void write(String str,int offset,int length) 将一个字符串从offset开始的length个字符写入到输出流 void flush() throws IOException 将输出流中缓冲的数据全部写出到目的地 六、Reader的基本方法 int read() throws IOException 读取一个字符以整数形式返回,如果返回-1已到输入流的末尾 七、节点流类型 八、访问文件FileInputStream和FileOutputStream继承基类用于向文件中输入输出字节 九、访问文件FileReader和FileWriter继承基类用于向文件中输入输出字符-输出流在构造函数第二个参数可以设置true意义为跟在已有文件后进行输入-此类流会抛出FileNotFoundException需要对其进行显示捕捉 十、缓冲流:缓冲流要套接在相应的节点流之上,提高了读写的效率。 此处理流的构造方法都得传相对应的基类类型 BufferedReader:提供了readLine方法用于高校读取一行字符串 BufferedWriter:提供了newLine用于写入一个行分隔符也就是换行 BufferedInputStream 没多大用处 BufferedOutputStream 没多大用处 十一、转换流:主要作用将字节流转换成字符流。用处较大! 转换流在构造时可以指定其编码集合 InputStreamReader需要和InputStream套接 OutputStreamWriter需要和OutputStream套接 例:OutputStreamWriter osw = new OutputStreamWriter (new FileOutputStream(文件路径); 方法例:osw.getEncoding(); 获得流的编码方式 十二、数据流与字节数组流: 数据流主要为实现可以存取Java原始数据类型如long,boolean 数据流是字节流 DataInputStream需要和InputStream套接 DataOutputStream需要和OutputStream套接 DataInputStream方法:readBoolean() readInt() read() readUTF():网络传输常用方法 读一个Unicode字符串 DataOutputStream方法与DataInputStream基本对应为写的方法 /此构造函数等于已可以往一个字节数组里输入内容 ByteArrayOutputStream baos = new ByteArrayOutputStream (); /此方法为获取一个字节数组方法返回字节数组 baos.toByteArray(); /此方法获取字节数组占了多少字节 new ByteArrayInputStream(一个字节数组)。available()1ByteArrayOutputStreambaos=2newByteArrayOutputStream();3DataOutputStreamdos=4newDataOutputStream(baos);5try6dos.writeDouble(Math.random();7dos.writeBoolean(true);8ByteArrayInputStreambais=9newByteArrayInputStream(baos.toByteArray();10System.out.println(bais.available();11DataInputStreamdis=newDataInputStream(bais); 12System.out.println(dis.readDouble();13System.out.println(dis.readBoolean();14dos.close();dis.close();15catch(IOExceptione)16e.printStackTrace();17 十二、Print流 Print流只有输出流无输入流,PrintWriter和PrintStream分别针对字符字节 两个类提供了重载的Print和Println方法用于多种数据类型的输出 PrintWriter和PrintStream的输出操作不会抛出异常 PrintWriter和PrintStream有自动flush功能 -System.setOut(接收OutputStream类):用于设置系统默认输出流 十二、Object流 等同于c#序列化,用直接将Object写入或读出 transient关键字为不序列化此成员变量 需要序列化的类必须实现Serializable接口 主要方法:writeObject(Object); readObject(); 读出为Object类型需要强转数据类型importjava.io.*;publicclassTestObjectIOpublicstaticvoidmain(Stringargs)throwsExceptionTt=newT();t.k=8;FileOutputStreamfos=newFileOutputStream(d:/share/java/io/testobjectio.dat);ObjectOutputStreamoos=newObjectOutputStream(fos);oos.writeObject(t);oos.flush();oos.close();FileInputStreamfis=newFileInputStream(d:/share/java/io/testobjectio.dat);ObjectInputStreamois=newObjectInputStream(fis);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB 20098-2025足部防护通用技术规范
- 养护安全培训简讯课件
- 农业机械本领大课件
- 化工公司储运安全培训课件
- 化工企业门卫安全培训课件
- 化工企业管理课件
- 兴趣班报班指导课件
- 初级辐射安全与防护培训课件
- 兴宇安达安全培训中心课件
- 内部安全取证培训课件
- 《装饰艺术运动》课件
- 《公路工程量计算》课件
- 医院建筑综合设计与布局优化
- 阴道镜项目质量管理方案
- 边坡工程第3章 边坡工程地质勘察
- 索思医疗卓越产品系列穿戴式动态心电监测产品
- 全国医药行业特有职业技能竞赛中药调剂员赛项备赛试题库(含答案)
- 中建基础设施公司“主要领导讲质量”
- 房屋交易诚意金合同范本模板
- 《毛泽东思想的形成与发展》参考课件3
- GB/T 4706.95-2024家用和类似用途电器的安全第95部分:商用电动抽油烟机的特殊要求
评论
0/150
提交评论