从文件中读取整数

时间:2014-12-05 10:56:25

标签: java

有一个问题,就是说尝试从包含整数和文本的文件中读取整数,并且它们通过空格彼此分开,比如文件xxx.txt:我喜欢45磅的苹果,和6元45 lk 56 ds一样,现在从文件中读取所有整数,并加上它们,上面的例子应该是45 + 6 + 45 + 56 = 152,它是用java编写的,请给我java中的代码。

2 个答案:

答案 0 :(得分:0)

看一下FileReader类: https://docs.oracle.com/javase/8/docs/api/java/io/FileReader.html

FileReader类提供了从文件中读取文本所需的一切。

另一个建议是查看扫描仪类: https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html

此外,我建议您查看字符串类:https://docs.oracle.com/javase/8/docs/api/java/lang/String.html

String Class提供了将文件文本转换为整数,从整数中分割文本以计算结果等所需的任何内容。

快乐学习!

答案 1 :(得分:0)

试试这个:

public static int getSum(String line) {
    final Pattern p = Pattern.compile("-?\\d+"); //regex to extract numbers from string
    final Matcher m = p.matcher(line);
    int sum = 0;
    while (m.find()) {
        sum += Integer.parseInt(m.group());
    }
    return sum;
}

public static void main(String[] args) throws FileNotFoundException {
    final Scanner scanner = new Scanner(new File("xxx.txt"));

    System.out.println("--------");
    while (scanner.hasNextLine()) {
        final String line = scanner.nextLine();
        System.out.println(line);
        System.out.println("Sum is: " + getSum(line)); //for each line get the sum
        System.out.println("--------");
    }
    scanner.close();
}