有没有办法让BufferedReader给最后一个实例一个特定的字符被读取?

时间:2014-07-24 07:29:25

标签: java bufferedreader eol

我希望我的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'实例。

非常感谢任何帮助。

0 个答案:

没有答案