我想编写一个从.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();
答案 0 :(得分:2)
首先,不要将每个String
存储在很多变量中,而是使用Collection
。对于这种情况,List<String>
就足够了。
然后,只需阅读BufferedReader
中的新行,然后检查它是否以#
字符开头。如果是,请不要将其添加到List
。
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
答案 1 :(得分:0)
首先,您应该将这些行存储在数据结构中。因此,您将使用循环遍历文本文件中的所有行,并使用if语句,只有当它不以#
答案 2 :(得分:0)
虽然 Luggi Mendoza 的答案是正确的,但java 8允许以更优雅的方式完成。
List<String> strings = Files.lines(Paths.get("test.txt"))
.filter(s -> !s.startsWith("#"))
.collect(Collectors.toList());