如何暂时关闭java gwt服务器端的缓冲读卡器?

时间:2013-10-04 09:21:27

标签: java gwt csv stream bufferedreader

我正在使用带有GWT框架的java在我的应用程序上读取一个csv文件。有没有办法暂时关闭缓冲的读卡器?

我的意思是当我找到我正在寻找的特定行时,有没有办法让我停止阅读csv文件?

bufferedReader.close()导致错误。它说服务器上的错误,因为流已关闭。 bufferedReader.reset()不起作用,或者说它不支持。

请帮忙。 提前谢谢。

修改。

while ((line = br.readLine()) != accountColumn ) {
if (line.equals(accountColumn)) {

    System.out.println(line);
    checker = true;
    String[] columns = line.split(cvsSplitBy);
    int totalColumns = columns.length;
    int col = 0;
    while (col < totalColumns) {
        log.append(columns[col] + "\n");
        col++;
    }
    JOptionPane.showMessageDialog(frame,"SAME COLUMNS DETECTED, READY FOR UPLOAD");

输出

LEDGER,EXTRACT_NAME,COUNTRY,ENTITY,TAX_CATEGORY,TAX_SUB_CATEGORY,TAX_ACCOUNT_TYPE,TAX_ACCOUNT,ACCUNT_TYPE,TAX_DRIVER,USE_FLAG,INPUT_ID,INPUT_NAME,DEL_FLAG
1,456,465,46,5456,456,4,45,5656456,56,564,6546,654,6564
1,456,465,46,5456,456,4,45,5656456,56,564,6546,654,6564
1,456,465,46,5456,456,4,45,5656456,56,564,6546,654,6564
1,456,465,46,5456,456,4,45,5656456,56,564,6546,654,6564
1,456,465,46,5456,456,4,45,5656456,56,564,6546,654,6564
1,456,465,46,5456,456,4,45,5656456,56,564,6546,654,6564
1,456,465,46,5456,456,4,45,5656456,56,564,6546,654,6564
1,456,465,46,5456,456,4,45,5656456,56,564,6546,654,6564
1,456,465,46,5456,456,4,45,5656456,56,564,6546,654,6564
1,456,465,46,5456,456,4,45,5656456,56,564,6546,654,6564
1,456,465,46,5456,456,4,45,5656456,56,564,6546,654,6564

它找到我正在寻找的特定行,但继续阅读其余的

1 个答案:

答案 0 :(得分:2)

您无法暂时关闭缓冲区阅读器。 关闭它时可能会出现异常,因为您仍处于while循环中,条件line = br.readLine()将再次执行并抛出异常。

您应该使用break退出while循环,然后关闭缓冲区。