Java 如何跳过以#开头的阅读行?

Java 如何跳过以#开头的阅读行?,java,Java,我想写一个程序,从.txt文件中读取许多值。应跳过以#开头的行 String a,b,c,d,e,f...; File file=new File("test.txt"); BufferedReader reader=new BufferedReader(new FileReader(file)); a=reader.readLine(); b=reader.readLine(); c=reader.readLine(); ...... reader.close();

我想写一个程序,从.txt文件中读取许多值。应跳过以#开头的行

String a,b,c,d,e,f...;  
File file=new File("test.txt");  
BufferedReader reader=new BufferedReader(new FileReader(file));

a=reader.readLine();  
b=reader.readLine();  
c=reader.readLine();  
......  
reader.close();

首先,不要将每个
字符串都存储在大量变量中,而是使用
集合。在这种情况下,a就足够了

然后,只需从
BufferedReader
读取新行,并检查它是否以
#
字符开头。如果有,则不要将其添加到
列表中

List<String> fileData = new ArrayList<>();
String line;
BufferedReader reader=new BufferedReader(new FileReader(file));
while ( (line = reader.readLine()) != null) {
    if (line.charAt(0) != '#') {
        fileData.add(line);
    }
}
reader.close();
//use the content of fileData to parse your file as expected
List fileData=new ArrayList();
弦线;
BufferedReader reader=新的BufferedReader(新文件读取器(文件));
而((line=reader.readLine())!=null){
if(line.charAt(0)!='#'){
fileData.add(行);
}
}
reader.close();
//使用fileData的内容按预期解析文件

首先,您应该将行存储在数据结构中。因此,您可以使用一个循环来遍历文本文件中的所有行,并在其中使用一个if语句来存储该行,前提是该行不以
#

开头。虽然Luggi Mendoza的答案是正确的,但java 8允许以更优雅的方式来执行

List<String> strings = Files.lines(Paths.get("test.txt"))
        .filter(s -> !s.startsWith("#"))
        .collect(Collectors.toList());
List strings=Files.line(path.get(“test.txt”))
.filter(s->!s.startsWith(“#”)
.collect(Collectors.toList());

难道你不想拥有一个数组而不是一大堆独立的
字符串
变量吗?然后,你可以在一个循环中完成所有的阅读。