我有一个包含以下内容的文本文件:
example.txt
#ignore
#ignore line
#ignore line again
1234567
8940116
12131415
我想将example.txt文件读入eclipse并将数据添加到哈希图中。我希望列表按数字顺序排列,并且希望它忽略文本文件中的任何注释(任何带有#的文本)。我想按如下方式打印哈希图:
输出:
1234567
8940116
12131415
您不需要仅存储字符串的哈希映射。映射用于键值对。如果要将文件中的每一行放入集合中,请使用“列表”。 ArrayLists,LinkedList保持插入顺序。您可以使用其中任何一个。如果要排序列表,可以使用TreeList。
BufferedReader reader;
List<String> list = new ArrayList<String>();
try {
reader = new BufferedReader(new FileReader(
"example"));
String line = reader.readLine();
while (line != null) {
if(!line.startsWith("#"){
list.add(line);
}
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
,
Map
的目的是存储对Key/Value
,对于单个集合,您可以使用List
,它的效率要高得多,无论打印什么类型,您都可以进行打印集合是
List<String> values = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader("filename"))) {
String line;
while ((line = reader.readLine()) != null) {
if (!line.startsWith("#")) {
values.add(line);
}
}
} catch (IOException e) {
e.printStackTrace();
}
for (String v : values)
System.out.println(v);