2015-09-07 23 views
1

我不明白如何清除BufferedReader。當我在Activity中按下按鈕時,變量設置爲1或2.取決於BufferedReader中的數字更改文件。當我在緩衝區第二次推入將是兩個文件。如何在上傳之前告訴BR清除緩衝區。反之亦然,當然。如何清除BufferedReader如果它不是空的[Java/Android]

public List<String> getQuestionLinesList() { 

      String line; 
      List<String> lines = new ArrayList<String>(); 
      Log.d(TAG, " Trying to get resourses"); 
      Resources res = context.getResources(); 


      try { 

        if (selectedBox == 1) { 

         bufferedQuestions = new BufferedReader(new InputStreamReader(res.openRawResource(R.raw.questions_list))); 

        } else if (selectedBox == 2) { 

         bufferedQuestions = new BufferedReader(new InputStreamReader(res.openRawResource(R.raw.questions_list_art))); 

        } 


       Log.d(TAG, "number i = " + Integer.toString(selectedBox)); 

       while ((line = bufferedQuestions.readLine()) != null) { 
        lines.add(line); 
        Log.d(LINETAG, line); 
       } 

      } catch (IOException e) { 
       e.printStackTrace(); 
      } 

      return lines; 
     } 

回答

0

添加一個回車/ \ n在文件的結尾,那麼的readLine()應該能夠清除BufferedReader中。

JavaDocs for BufferedRead其中指出

public String readLine() 
    throws IOException 

讀取一行文本。換行符被換行符('\ n'),回車符('\ r')或回車符後面的換行符中的任何一個結束。

返回: 包含該行的內容,不包括任何行終止符,或字符串NULL,如果流的末尾已到達

+0

BufferedReader將被清除,然後我可以使用它 – bronnikov

0

也許你可以嘗試使用在一個局部變量你的BufferedReader方法不是「bufferedQuestions」,你可能聲明它是類中的一個字段,該方法是:「getQuestionLinesList」所屬。

相關問題