以下是本人的一些分享,我热爱编程,希望能多交编程的爱好者,如果你也是其中一名,那么请加好友,大家关注一下,下面的文章是自己觉得一些有用的东西,留下来给自己当笔记,当然也希望能帮助到你,首先感谢你的阅读~!
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语言会在新的业务领域有着更辉煌的发展前景。