黑马程序员——IO(InputOutput)流总结(一).docVIP

黑马程序员——IO(InputOutput)流总结(一).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
黑马程序员——IO(InputOutput)流总结(一)

IO(Input Output)流总结(一) IO流是处理数据之间数据传输的。 Java对数据的操作是通过流的方式。 Java中用于操作IO流的对象都放在java.io包中。 流的分类:按照操作数据分为:字符流和字节流。 按照流向分为:输入流和输出流。 输入流: 输出流: 字符流: Reader Writer |--BufferedReader |-- BufferedWriter |--inputStreamReader |--OutputStreamWriter |--FileReader |--FileWriter 字节流: InputStream OutputStream |--FileInputStream |--FileOutputStream InputStream OutputStream |--FilterInputStream |--FilterOutputStream |--BufferedInputStream |-- BufferedOutputStream 在计算机中存储的都是1和0的序列。也就是二进制的有序序列,不论是文本、音乐或者是视频。 那么为什么要在流中定义字节流和字符流呢? 这个与我们的字符编码方式有关。我们都知道世界上有很多种的语言,比如:ASCII、GB2312、GBK、UTF-8和Unicode等。 如果一个文本文件使用GB2312编码的方式存储的,如果我们用Unicode的编码方式来读取,那么就会出现乱码。所以字符流是一种特殊的流,在java中就定义了专门处理字符的流对象。 当我们拿到一个API文档我们应该如何使用呢? 1,确定要使用的功能。 2,查阅API看有没有相关的功能类。 3,如果没有,就分析需要如何自定义一个出来,并且要使用到那些相关功能的类,这些类在API中有没有定义。 4,不论有或者没有需要自定义一个,我们都要先查阅相关功能类的根类,那么查阅一个API的时候我们要注意一些什么呢? 5,找到相关功能根类,先看一下它是一个类,还是接口,还是抽象类,如果是接口或者是抽象类我们就不能直接使用这个类,而要使用这个类的子类。 6,但是,我们不用急于先看它有哪些子类,我们先看一下它到底暴露了什么字段、构造函数和方法。 7,在查看暴露的信息时,我们要注意几点: 如果是static修饰的,说明是静态的,我们不用new对象也可以直接使用。 我们要确定自己要使用的方法将会返回的数据的类型,是void呢、String呢、int呢、还是其他的。查找的时候就重点找返回这些类型的方法。(注意:如果我们使用的类是一个使用单例设计模式设计的,那么他就没有构造函数,我们就一般可以通过静态的getIstance()方法获取相应的对象,这时我们就要找返回值是对象类型的方法。) 8,如果在根类中找到了需要的方法,但是根类又不能创建对象,那么我们就看看,继承这个根类的子类有哪些,一般子类都继承了父类的方法,所以子类可以直接调用父类的方法,并且子类又定义了一些自身特别的方法。 9,找到需要的类创建对象,或者找到相关功能的对象自定义一个需要的类。 下面我们按照以上的方法来阐述IO流的学习: 字节流: 字节流的根类有:读取流(Reader)、写入流(Writer) 根类都是abstract(抽象)的,我们不能直接创建对象,但是我们可以看一看父类都定义了什么方法。 Reader: int read() 读取单个字符。 int read(char[] cbuf) 将字符读入数组。 abstract int read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。 int read(CharBuffer target) 试图将字符读入指定的字符缓冲区。 abstract void close() 关闭该流并释放与之关联的所有资源。 FileReader:Reader的子类,可以创建对象,专门用来操作字符数据流的。 Writer: void write(char[] cbuf) 写入字符数组。 abstract void write(char[] cb

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档