我决定用java创建一个货币转换器,这样它就可以将转换值从文本文件中提取出来(因为这些值是不断变化的,所以易于编辑)。通过使用scanner类并将所有值放入arraylist中,我做到了这一点。现在,我想知道是否有一种方法可以将注解添加到文本文件中,供用户阅读,而扫描仪将忽略它。“//”似乎不起作用。谢谢
yftpprvb1#
扫描器不会忽略任何东西,你必须在读入数据后删除其中的注解。
uqxowvwt2#
是,而((currentline=bufferedreader.readline())!=null)可能是最简单的,然后执行必要的测试。split(regex)对于使用分隔符将行转换为值数组也非常方便。
xmakbtuz3#
使用javanio,您可以做这样的事情。假设要忽略以“/”开头并以arraylist结尾的行。
List<String> dataList; Path path = FileSystems.getDefault().getPath(".", "data.txt"); dataList = Files.lines(path) .filter(line -> !(line.startsWith("//"))) .collect(Collectors.toCollection(ArrayList::new));
34gzjxbg4#
最好的方法是使用 java.io.BufferedReader 并使用 String#startsWith() 你在寻找什么 "//" .但是您是否考虑过使用属性文件并使用 java.util.Properties 应用程序编程接口?这样,您就可以从现成的规范和api中获益,并且可以使用#作为注解行的开始。另请参见sun.com上的教程。
java.io.BufferedReader
String#startsWith()
"//"
java.util.Properties
4条答案
按热度按时间yftpprvb1#
扫描器不会忽略任何东西,你必须在读入数据后删除其中的注解。
uqxowvwt2#
是,而((currentline=bufferedreader.readline())!=null)可能是最简单的,然后执行必要的测试。split(regex)对于使用分隔符将行转换为值数组也非常方便。
xmakbtuz3#
使用javanio,您可以做这样的事情。假设要忽略以“/”开头并以arraylist结尾的行。
34gzjxbg4#
最好的方法是使用
java.io.BufferedReader
并使用String#startsWith()
你在寻找什么"//"
.但是您是否考虑过使用属性文件并使用
java.util.Properties
应用程序编程接口?这样,您就可以从现成的规范和api中获益,并且可以使用#作为注解行的开始。另请参见sun.com上的教程。