将文件行读入单独的变量

时间:2015-04-18 17:22:53

标签: java

我有一个文件,我希望将每个整数读入单独的变量,直到遇到与此类似的文件的新行。

1 3 5
2 3 3
4 3 3

在C中,我可以使用:

fscanf(file_desc, "%d, %d, %d \n", &varA, &varB, &varC); //just wrote that here..syntax could be wrong

有没有办法用Java做到这一点?因此,请将每个数字读入一个单独的变量。

2 个答案:

答案 0 :(得分:2)

我认为我们在Java中没有像那样的语法糖。

您可以使用Scanner,阅读nextLine()行,将其与split(" ")分开,然后使用Integer.parseInt()解析为整数。

public static void main(String[] args) throws FileNotFoundException {
    Scanner s = new Scanner(new File("numbers.txt"));
    List<Integer> numbersList = new ArrayList<Integer>();
    while (s.hasNextLine()) {
        String[] numbers = s.nextLine().split(" ");
        for (String n : numbers)
            try {
                numbersList.add(Integer.parseInt(n));
            } catch (NumberFormatException nfe) {
                System.err.println("Not an integer: " + n);
            }
    }
    System.out.println(numbersList);
}

答案 1 :(得分:0)

        Scanner scanner = new Scanner(new FileInputStream(new File("your file")));
        while(scanner.hasNext()){
            String s = scanner.nextLine();
            String[] ints = s.split(" ");
            a = Integer.parseInt(ints[0]);
            b = Integer.parseInt(ints[1]);
            c = Integer.parseInt(ints[2]);
        }