如何正确处理文件中的数字输入?

时间:2016-08-10 22:34:50

标签: java parsing

我正在尝试使用各种字符串处理文件。最终我对文件中包含的数字感兴趣,并且想要忽略其他所有内容。有些数字会在他们面前有“$”。我仍然想要包含这些数字,但我不确定最佳方法。

public static void main(String[] args) throws FileNotFoundException {
    Scanner input = new Scanner(new File("asdf.txt"));
    while (input.hasNext()) {
         if (input.hasNextInt()) {
             process(input.nextInt());
         } else {
             processString(input.next());
         }
    }
}

public static void processString(String phrase) {
     if (phrase.startsWith("$")) {
         phrase = phrase.substring(1);
         try {
             int number = Integer.parseInt(phrase);
             process(number);
         } catch (NumberFormatException e) {
         }
     }
}

public static void process(int number) {
    // ... foo ...
}

这是我所拥有的简化版本,而我的完整版本也可以使用。我想避免在try内使用catch / processString语句,并想知道是否有更优雅的方法来实现这一点。

0 个答案:

没有答案