我正在使用带有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
它找到我正在寻找的特定行,但继续阅读其余的
答案 0 :(得分:2)
您无法暂时关闭缓冲区阅读器。 关闭它时可能会出现异常,因为您仍处于while循环中,条件line = br.readLine()将再次执行并抛出异常。
您应该使用break退出while循环,然后关闭缓冲区。