JAVA_IO(Input OutPut)字符流

以下是本人的一些分享,我热爱编程,希望能多交编程的爱好者,如果你也是其中一名,那么请加好友,大家关注一下,下面的文章是自己觉得一些有用的东西,留下来给自己当笔记,当然也希望能帮助到你,首先感谢你的阅读~!
  IO(Input OutPut)流

  IO流用来处理设备之间的数据传输

  JAVA对数据的操作是通过流的方式

  JAVA用于操作流的对象都在IO包中

  流按操作对象分为两种: 字节流,字符流

  流按流向分为: 输入流,输出流。

  其它的内容还是比较简单的,注意的是以下这几个自定义包装类:

  实现1.

  MyBufferedReader.class

  1 package com.javami.kudy.Code13;

  2 import java.io.IOException;

  3 import java.io.Reader; //读取字符流的抽象类

  4 import java.io.IOException;

  5 /*

  6 * 自定义MyBufferedReader包装Reader,提供了一个缓冲区的功能.提供了ReadLine功能.

  7 * 1.用一个次组合,拿到被包装的Reader对象

  8 * 2.定义一个字符数组作为缓冲区

  9 * 3.实现一个read方法,填充缓冲区,从缓冲区那里返回一个字符

  10 * 4.定义一个readLine方法,内部调用read方法,循环读取一行,进行返回

  11 * 5.定义一个close方法,关闭地底层所包装的流

  12 */13 public class MyBufferedReader extends Reader{14 private Reader r;

  15 char[] buf = new char[1024]

  ;16 int len =0;

  17 int pos = 0;

  18 public MyBufferedReader(Reader r)

  19 {

  20 this.r = r;

  21 }

  22 /*

  23 * 实现read()方法,实现缓存的功能

  24 * 分析:

  25 * 1.当别人第一次调用该方法的时,一次性的去填充缓冲区

  26 * 2.定义一个len变量记住缓冲区的可用字符的数量

  27 * 3.将数组的第一个元素返回

  28 * 4.当别人第二次调用的时,将数组的二个元素返回

  29 * 5.每次返回元素 len --

  30 * 6.当len为零时,说明数组没有可用字符啦,那么这时候返回一个-131 *

  32 * 思路:33 * 1.定义两个成员变量,len记住可用字符数量,pos记住当前字符的角标

  34 * 2.判断len是否为0,如果为零要填充缓冲区.并且pos为零

  35 * 3.判断len,如果为-1,则返回-136 * 4.将pos位置的元素返回.pos++37 */

  38 public int read() throws IOException

  39 {40 if(len ==0)41 {42 len = r.read(buf);43 pos = 0;44 }

  45 if(len==-1)46 return -1;47 len--;48 return buf[pos++];

  49 }

  50 51 /*52 * 实现readLine方法,实现读一行的功能,

  53 * 1.循环调用自己的方法的read方法,读取字符

  54 * 2.知道回车的字符,方法就结束55 */

  56 public String readLine() throws IOException

  57 {58 StringBuilder sb = new StringBuilder();

  59 int ch;60 while((ch=read())!=-1)

  61 {62 if(ch=='\r')63 continue;64 if(ch=='\n')65 break;66 sb.append((char)ch);67 if(ch==-1&&sb.length()==0)68 return null;69 }70 return sb.toString(); //转换成字符串71 }72 @Override73 public void close() throws IOException {74 r.close();75

  }76 77 @Override

  78 public int read(char[] cbuf, int off, int len) throws IOException

  {79 int
在互联网时代,JAVA语言已经是使用最广泛的服务器端语言。随着3G、物联网时代的到来,JAVA语言并不会“过时”,相反,JAVA语言会在新的业务领域有着更辉煌的发展前景。
 

你可能感兴趣的:(java,IO)