电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

用LineNumberReader 提供更好的出错消息


发布日期:2019/10/11
 

开发人员常常会随手写一些类来读入一个简单的配置文件或者用BufferedReader一行一行地读入特定格式的数据这些随手写成的解析器往往会提供基本的出错报告但有时候它们会很难记录下出错的行号幸运的是Java的javaioLineNumberReader类提供了行号的记录而不需做任何额外的工作

javaioLineNumberReader类是javaioBufferedReader类的扩展它封装了处理行号的额外能力假设我们有一个简单的解析器它的规则是每一行都必须以#开头我们来示范一下LineNumberReader的用法

public void parseFile(Reader reader) throws IOException {

LineNumberReader in = new LineNumberReader(reader);

String line = ;

while( (line = inreadLine( )) != null ) {

if(linestartsWith(#)) {

// 处理这一行

} else {

throw new IOException( + ingetLineNumber( ) + 行丢了#号);

}

}

inflush( );

inclose( );

} 行号的意味着我们还没开始读入如果在一个程序中我们每次读入一行并输出该行和它的行号行号将从开始

LineNumberReader中有一个setLineNumber(int)方法但它仅仅是个装饰物例如把行号设成并不会转到第它只是简单地把当前行的行号设成下一行的行号就是

上一篇:全面介绍Xen虚拟机 深入学习Xen新起点

下一篇:软件重用已经死亡?软件重用永存?