簡體   English   中英

使用BufferedReader跳過行

[英]Skipping line with BufferedReader

在使用BufferedReader讀取文件時,我希望它跳過空白行和以'#'開頭的行。 最終,每個單獨的字符然后被添加到數組列表中

inputStream = new BufferedReader(new FileReader(filename));

       int c = 0;
       while((c = inputStream.read()) != -1) {
           char face = (char) c;

           if (face == '#') {
               //skip line (continue reading at first char of next line)
           }
           else {
               faceList.add(face);
           }

除非我沒有記錯,否則BufferedReader會自動跳過空白行。 除此之外,我將如何去做?

我會跳過嗎? 線的長度可能會有所不同,所以我認為這行不通。

不要試圖一次讀取文件中的一個字符。

在主循環的每次迭代中,將完整的一行讀為String 接下來,檢查它是否與您要忽略的特定模式匹配(空,僅空白,以#等開頭)。 有了要處理的行后,才可以根據需要一次在String迭代一個字符。

這使得檢查和忽略空白行以及與模式MUCH匹配的行變得更加容易。

while((line=in.readline()) != null)
{
    String temp = line.trim();
    if (temp.isEmpty() || temp.startsWith("#"))
        /* ignore line */;
    else
        ...
}

使用continue 這將繼續循環到下一個項目。

       if (face == '#') {
           continue;
       }
       else {
           faceList.add(face);
       }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM