如何将文件中的字符串转换为数组?

时间:2019-12-25 18:29:47

标签: java arrays

我有一个.txt文件,它有一些数字,例如

0,3,4,... 9

.......

1,2,5,... 6

这是一个数独设计,我想将其放入数组中

 Scanner in = new Scanner (new File ("sudoku1.txt")); //here I specified the target of the file like C:\\...
 for(int i=0; i<9; i++){
   for(int j=0; j<9; j++){
       String n = in.next();
     grid [i][j] = Integer.parseInt(n);
   }
 }
System.out.println(grid);

当我尝试查看该数组时,由于文本文件中的“”,它给出了一个错误,如果我删除逗号并放置空格而不是逗号,它可以工作,但即使它只显示一行,它也可以无法正常工作。

2 个答案:

答案 0 :(得分:2)

执行以下操作:

Scanner in = new Scanner (new File ("sudoku1.txt"));
for(int i=0; i<9 && in.hasNextLine(); i++){
    String []nums = in.nextLine().split(",");
    for(int j=0; j<nums.length; j++){
        String n = nums[j].trim();
        grid [i][j] = Integer.parseInt(n);
    }
}
System.out.println(Arrays.deepToString(grid));

答案 1 :(得分:2)

扫描仪可以使用其他定界符。默认值与空格匹配。

这里是一个例子。

String myDelimiterGroup = "[,\\r\\n]"; // a pattern definition
Scanner scanner = new Scanner(yourFile).useDelimiter(myDelimiterGroup);

希望有帮助。