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