PushbackReader类——用于回推字符
来源:互联网 发布:json数组长度 编辑:程序博客网 时间:2024/06/03 19:38
PushbackReader类的用法总结
PushbackReader类允许将一个或多个字符返回到输入流,从而可以向前查看输入流。下面是该类的两个构造函数:
PushbackReader(Reader inputStream)
PushbackReader(Reader inputStream,int bufSize)
第一种形式创建的缓存流允许回推一个字符。第二种形式中回推的缓存大小由bufSize传递。
关闭PushbackReader也会关闭inputStream指定的底层流。
PushbackReader类提供了unread()方法,该方法向调用输入对象返回一个或多个字符。Unread()方法有三种形式,如下所示:
void unread(int ch) throws IOException
void unread(char buffer[]) throws IOException
void unread(char buffer[],int offset,int numberChars) throws IOException
第一种形式回推ch传递的字符,这是后续read()调用将返回的下一个字符。第二种形式返回buffer中的字符。第三种形式回推buffer中从offset位置开始的numberChars个字符。当回推缓存已经满时,如果试图返回字符,就会抛出IOException
注意:回推的确切含义是将unread括号内的参数内容作为当前文件指针下一次访问的内容。参数中的内容不能大于bufSize
具体用法如下所示:
import java.io.*;public class PushbackReaderDemo { public static void main(String[] args){ String s="if(a==4) a=0;"; char buf[]=new char[s.length()]; s.getChars(0,s.length(),buf,0); String s1="abcdefghijklmnopqrstuvwxyz"; char buf1[]=new char[s1.length()]; char buf3[]={'[','1','2',']'}; s1.getChars(0,s1.length(),buf1,0); CharArrayReader in=new CharArrayReader(buf); CharArrayReader in1=new CharArrayReader(buf1); int c,c1; try(PushbackReader f=new PushbackReader(in); PushbackReader f1=new PushbackReader(in1,4); ){ while((c=f.read())!=-1){ switch(c){ case '=': if((c=f.read())=='=') System.out.print(".eq."); else { System.out.print("<-"); f.unread((char)c); } break; default: System.out.print((char)c); break; } } System.out.println(); while((c1=f1.read())!=-1){ switch(c1){ case 'n': System.out.print("开始:"); f1.unread(buf3);break;default:System.out.print((char)c1); } } }catch(IOException e){ System.out.println("I/O Error: "+e); } }}
0 0
- PushbackReader类——用于回推字符
- PushbackReader
- PushbackReader,PushbackInputStream
- 错排用于递推!!!
- Python用于文本分析的一个demo—统计文档中只出现一次的字符
- java.io.PushbackReader
- Java IO - PushbackInputStream&PushbackReader
- 用于判断字符结尾的输入流类
- 用于判断字符结尾的输出流类
- Java中的PushbackReader流理解
- 递推——Tiling
- Comet—“服务器推”技术
- 递推—排队购票
- 递推—构造字符串
- BufferedReader与BufferedWriter类——用于提高性能
- JAVA——用于操作数组的工具类Arrays
- 根据递推公式构造系数矩阵用于快速幂
- 根据递推公式构造系数矩阵用于快速幂
- 起点不重要
- iOS 技巧
- 【剑指offer】二叉树的镜像
- [ios专项]一个简单的浏览网页程序-object c
- 【CSDN编程挑战】3n+1
- PushbackReader类——用于回推字符
- 「转」安装Linux性能监测工具Conky
- hdu 2188 巴什博弈
- BlueTooth: 对蓝牙的第一次亲密接触
- Redis的Python客户端redis-py
- uva 10881
- url过滤器
- 多线程的那点儿事(之无锁队列)
- ExecuteNonQuery、ExecuteScalar、ExecuteReader区别有哪些