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

问题描述 投票:0回答:2

我有一个.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);

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

java arrays
2个回答
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));

0
投票

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

这里是一个例子。

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

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.