字符输入流
来源:互联网 发布:eia数据公布 时间 编辑:程序博客网 时间:2024/06/06 09:48
多数字符输入类都与字符输出类相对应
1 Reader类
所有字符输入流类从Reader类继承的方法
read() 读一个字符,返回int值
read(char[] array) 读字符填充array,返回所读字节数int类型
2 FileReader类
FileReader类不能指定编码类型,它默认的编码方式为开发环境的编码方式。比如用Myeclipse开发java ,如果不指定Myeclipse中编码方式则默认为系统编码方式(win7为GBK),FileReader对象的编码方式就是GBK;如果指定Myeclipse中编码方式为UTF-8,那么FileReader对象的编码方式就是UTF-8。(java中得到编码方式 System.getProperty("file.encoding"))//用FileReader读文件时,文件编码方式必须和FileReader对象的相同,否则会出现乱码。
String dirName = "d:/";
String fileName = "test.txt";
Reader reader = new FileReader(new File(dirName, fileName));//打开文件字符输入流
//使用while循环读流中的数据,读到末尾返回-1
int value;
while(!((value=reader.read())==-1)){
System.out.print((char)value);
}
3 PushbackReader类 (推回Reader)
两个构造函数:
PushbackReader(Read in);具有单字符缓冲区
PushbackReader(Read in,int size);具有指定大小的缓冲区
test1.txt内容为:1a2ab3abc4abcd5abcde 数字为紧跟每个数字后边的字符的长度
通过PushbackReader读取内容,内容不包括数字
String dirName="d:/test/";
String fileName="test1.txt";
File myFile=new File(dirName,fileName);
PushbackReader in=new PushbackReader(new BufferedReader(new FileReader(myFile)));
int c;
while(true){
String number=""; //the length
while(Character.isDigit((char)(c=in.read()))){
number+=(char)c;//第二次循环 2
System.out.println("number:"+number+" c值:"+(char)c);
}
if(c==-1){//到最后跳出循环
break;
}else{
System.out.println("c值:"+((char)c));
in.unread(c);//如果不是数字读回到流 第一次循环:a 第二次:a(为了保证能读到这个在上边while循环中的数没被忽略)
System.out.println("unread:"+(char)c);
}
char[] values=new char[Integer.parseInt(number)];//将number个字符读到字符数组 第一次循环:1个
in.read(values);
System.out.println(values);//输出字符数组
}
in.close();
- 字符输入流
- 输入字符流
- 字符输入流
- 缓冲输入字符流
- InputStream字符输入流
- 字符输入/输出流
- 字节输入流和字符输入流
- 输入字符流与输出字符流
- 字符转换为输入流
- FileReader文件字符输入流
- BufferReader 缓存字符输入流
- BufferedReader缓冲字符输入流
- java 字符输入流,字符输出流,字符缓冲流
- 输入字符
- 字节输入流与字符输入流的一些使用
- 字符输入流向字节输入流的转换
- 字符输入流向字节输入流的转换
- 字符输出流FileWriter和字符输入流FileReader
- netproperty
- VIM使用笔记
- 0.ring3-hook-WH_KEYBOARD和WH_KEYBOARD_LL的区别
- django解析json
- ViewFlipper + scrollView 左右滑动
- 字符输入流
- 开源项目之OPlayer(iPhone/iPod媒体播放)
- js操作frameset
- http协议
- Android调用WebService
- 使用Visual SVN 2.5以上版本,ubuntu客户端连接失败的问题解决方法
- POJ 2135-Farm Tour
- Linux源文件编译安装SVN(Subversion)
- 单行链表寻找倒数第k个节点