我希望我的BufferedReader给我最后一个'End of Line'实例,这样我就可以mark()
这个位置和reset()
到这个实例。
到目前为止,我有以下代码:
do {
int token = st.nextToken();
switch (token) {
case StreamTokenizer.TT_EOF:
System.out.println("End of File encountered.");
eof = true;
break;
default:
if (token == '\n' || token == '\r')
{
System.out.println("End of Line");
// mark invoked at this position
br.mark(0);
}
if (token == '\'' || token == '\"') {
if (st.sval.length() == 3) {
if (isNumeric(st.sval)) {
//output to the CSV File
//System.out.println("Writing to File");
out.println("File Name: " + fileName);
out.println("Code Number: " + st.sval);
out.println("Line Number: " + (st.lineno() + skip));
skip++;
br.reset();
out.println("Line: " + br.readLine());
out.println("-----------------------------------"
+ "------------------------------------");
out.println("");
count++;
}
}
}
}
} while (!eof);
我知道这是不正确的,因为这将标记每一行结束,并在无限循环中重置结果,我想知道是否有一种方法可以将我的缓冲区重置为最后一行'End of Line'实例。
非常感谢任何帮助。