Java 如何跳过以#开头的阅读行?
我想写一个程序,从.txt文件中读取许多值。应跳过以#开头的行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();
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());
难道你不想拥有一个数组而不是一大堆独立的字符串
变量吗?然后,你可以在一个循环中完成所有的阅读。