java笔记10io.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java笔记10 io ? 流(stream) 本章内容 Java流式输入/输出原理 Java流类的分类 流入/流出流类 常见的节点流和处理流 文件流 缓冲流 数据流 转换流 Print流 Object流 流的原理:读写数据 真正的文件在硬盘里数据,读数据都是0和1,文件想像成一个桶,文件里取数据,管道就是流,和水流的原理一样。 流就是2根管道,一个向里一个向外,无论向里还是向外都是对我们写的程序来说的 包在外面是处理流,一根不够包2根处理流管道,直接套在节点流或者处理流上面 在java程序中,对于数据的输入/输出操作以流方式进行,J2SDK提供了各种各样的流类,用以获取不通种类的数据,程序中通过标准的方法输入和输出数据 通常我们指的流就是:io包里的类,java.io包中定义了多个流类型(类或抽象类)来事先输入/输出功能:可以从不桶的调度对其进行分类: 按数据流的方向不同可以分为输入流和输出流 按处理数据单位不同可以分为字节流和字符流 按照功能不同可以分为节点流和处理流 (注释): 输入流:程序的角度读数据 输出流:往外写 字节流:0和1 字符流:一个字符一个字符(2个字节) 节点流:管道直接接到数据源上 处理流:套在其他管道上的流,处理流是连接在已存在的流(节点流或处理流)之上, 通过对数据的处理为程序提供更为强大的读写功能。 J2SDK所提供的所有刘类型位于包java.io内都分别继承自以下四种抽象流类型 字节流字符流 输入流InuputStreamReader往里读 输出流OutputStreamWriter字符形式往外写 4根管道:一端接着程序一端接着数据源 InputStream: 继承自InputStream的流都是用于向程序中输入数据,且单位为字节(8bit) 深色:节点流浅色:处理流 InputStream的基本方法: abstract intread()throws IOException read一下读一个字节 读取一个字节并以正数的形式返回(0-255)如果返回-1已到输入流的末尾 intread(byte b)throws IOException 从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中。 返回实际读取的字节数,如果读取前已到输入流的末尾返回-1 (Eg.p2p毁硬盘是硬盘访问的频繁的原因,可以在内存中分配个空间,读一次装满,写:在内存里写好了,一次性写到硬盘里去) intread(byte b,int off,int len)throws IOException 将输入流中最多len个数据字节读入byte数组。从len的位置开始返回实际读取的字节数,如果读取前以到输入流的末尾返回-1 longskip(long n)throws IOException 跳过和丢弃此输入流中数据的n个字节。 voidclose()throws IOException 关闭此输入流并释放与该流关联的所有系统资源。 OutputStream: 继承自OutputStream的流是用于程序中输出数据,且数据的单位为字节(8bit),此抽象类是表示输出字节流的所有类的超类。 下图中深色为节点流,浅色为处理流 OutputStream的基本方法: abstract voidwrite(int b)throws IOException 将指定的字节写入此输出流。该字节数据为参数b的低8位 voidclose()throws IOException 关闭此输出流并释放与此流有关的所有系统资源。 voidflush()throws IOException刷新此输出流并强制写出所有缓冲的输出字节。 voidwrite(byte b)throws IOException 将b.length个字节从指定的byte数组写入此输出流。 voidwrite(byte b,int off,int len)throws IOException将指定byte数组中从偏移量off开始的len个字节写入此输出流。 close()之前调用flush()把缓冲区中的剩余数据写入硬盘 Reader 继承自Reader的流都是用于向程序中输入数据,且数据的单位为字符(16bit) (2个字节2个字节地往外读) 下图中深色为节点流,浅色为处理流 Writer 继承自Writer的流都是用于程序中输出数据,且数据的单位为字符(16bit);下图中深色为节点流,浅色为处理流 abstract voidclose()关闭此流,但要先刷新它。 abstract voidflush()刷新该流的缓冲。 voidwrite(char cbuf)写入字符数组。 abstract voidwrite(char cbuf,int off,int len)写入字符数组

文档评论(0)

shujukd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档