2013-10-04 31 views
0

我正在使用Java和GWT框架在我的應用程序上讀取一個csv文件。有沒有辦法暫時關閉緩衝讀取器?我如何暫時關閉java gwt服務器端的緩衝閱讀器?

我的意思是有沒有辦法讓我停止閱讀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

請添加您的代碼,這是不可能的幫助沒有... – ppeterka

+0

嗨@ ppeterka66我編輯我的問題。非常感謝 。 – igarren

回答

2

不能暫時關閉緩衝讀者。 當您關閉它時可能會遇到異常,因爲您仍處於while循環中,並且條件行= br.readLine()將再次執行並引發異常。

你應該使用break來退出while循環,然後關閉緩衝區。