当使用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会自动跳过空行。除此之外,我该怎么做呢?
我能跳过()吗?行的长度可能会有所不同,所以我认为这行不通。
使用继续
。这将继续到任何循环中的下一项。
if (face == '#') {
continue;
}
else {
faceList.add(face);
}
不要试图一次读取一个字符的文件。
在主循环的每次迭代中,将一行完整的内容读入一个字符串
。接下来,检查它是否与您想要忽略的特定模式匹配(空,仅空白,以
#
开头,等等)。一旦你有了一行你想要处理的内容,如果你需要的话,只需要一次迭代一个字符。
这使得检查和忽略空行以及与模式匹配的行变得更加容易。
while((line=in.readline()) != null)
{
String temp = line.trim();
if (temp.isEmpty() || temp.startsWith("#"))
/* ignore line */;
else
...
}
对于我正在开发的应用程序,我有一个文本文件,我想使用BufferedReader读取它。文本文件中的前四行可能不相关,所以我不想读这些。我看了BufferedReader上的留档,我看到我可以使用BufferedReader.skip(字节),在那里我输入要跳过的字节数。然而,文本文件中的前四行并不总是包含相同数量的信息,所以我认为这并不真正适合我的目的。你们知道如何以更实际的方式解决这个问题吗?
问题内容: 我正在使用以下内容读取文件的各行, 现在,我想跳过读取文件的第一行,并且不想使用计数器行来保持行数。 这该怎么做? 问题答案: 你可以试试这个
问题内容: 从CSV读取数据时,它会跳过第二行。我有两个CSV文件,一个用于用户,一个用于属性-密钥ID是user。 我与以下用户一起运行 每个奇数编号都在工作,并且检测到用户已登录,而第二个奇数编号正在跳过。我阅读了一下,但我不认为我有.nextLine()正在像此链接中那样跳过,但是我只在星期五开始使用CSV和BufferedReader! 问题答案: 它跳过第二行,因为您在每次迭代中都读取两
我使用下面的读取文件的行, 现在,我想跳过读取文件的第一行,我不想使用计数器行来记录行数。 这要怎么做?
因此,我正在阅读一个文件,其中包含我在前面代码中写到的约会。我想在文本文件中搜索某个日期的约会并将其添加到ArrayList中,但当BufferedReader遍历它时,它会跳过其他行...这是我的代码
这里是我的源代码: