[英]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.