从文本文件导入Java问题
-
13-09-2019 - |
题
我决定用 Java 创建一个货币转换器,并使用它从文本文件中提取转换值(以便轻松编辑,因为这些值不断变化)。我确实通过使用 Scanner 类并将所有值放入 ArrayList 来做到这一点。
现在我想知道是否有一种方法可以向文本文件添加注释供用户阅读,扫描仪会忽略该注释。“//”似乎不起作用。
谢谢
解决方案
最好的方法是使用逐行读取文件 java.io.BufferedReader
并使用扫描每一行的注释 String#startsWith()
你在哪里寻找 "//"
.
但是您是否考虑过使用属性文件并使用 java.util.Properties
API?这样您就可以从现成的规范和 API 中受益,并且可以使用 # 作为注释行的开头。另请参阅 sun.com 上的教程.
其他提示
扫描仪不会忽略任何事情,你将不得不删除您的数据的评论你在阅读之后。
是的,而((currentLine = bufferedReader.readLine())!= NULL)可能是最简单的,然后执行你的必要的测试。 currentLine.split(正则表达式)也是用于将线插入值的数组使用定界符非常方便的。
使用的Java NIO,你可以做这样的事情。假设要忽略与“//”开始的行,并与一个ArrayList结束。
List<String> dataList;
Path path = FileSystems.getDefault().getPath(".", "data.txt");
dataList = Files.lines(path)
.filter(line -> !(line.startsWith("//")))
.collect(Collectors.toCollection(ArrayList::new));
不隶属于 StackOverflow