我决定用 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));
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top