【发布时间】:2011-07-29 07:00:08
【问题描述】:
我正在尝试读取包含整数的文本文件并将它们存储到二维数组中。 问题是分裂。 我可以阅读:
0 0 0
0 1 0
0 0 0
很好,任何数字都是 0-9,但我的数字超过 9(10、100、1000)。 我的方法:
int[][] mapArray = new int[11][8];
AndroidFileIO file = new AndroidFileIO(context.getAssets());
InputStream is = null;
try {
is = file.readAsset("maps/map.txt");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.d("android", "could not load file");
}
Scanner scanner = new Scanner(is);
scanner.useDelimiter(",");
for (int i = 0; i < 11; i++) {
for (int j = 0; j < 8; j++) {
mapArray[i][j] = scanner.nextInt();
Log.d("android", "" + mapArray[i][j]);
}
}
所以我尝试使用分隔符,但它没有挂起并告诉我类型不匹配? 读取文件时拆分整数有什么解决办法?
【问题讨论】:
-
把这一行 if(mScanner.hasNext()) 放在 mapArray[i][j] =scanner.nextInt();可能有用,也提供你的 logcat
-
07-29 03:29:27.569: 错误/AndroidRuntime(5933): 致命异常: GLThread 10 07-29 03:29:27.569: 错误/AndroidRuntime(5933): java.util.InputMismatchException 07-29 03:29:27.569: ERROR/AndroidRuntime(5933): at java.util.Scanner.next(Scanner.java:1025) 07-29 03:29:27.569: ERROR/AndroidRuntime(5933): at java. util.Scanner.nextInt(Scanner.java:1373) 07-29 03:29:27.569: 错误/AndroidRuntime(5933): 在 java.util.Scanner.nextInt(Scanner.java:1337)
-
你试过我上面评论中提到的方法吗
-
是的,我有。似乎没有改变一件事=/
标签: java android arrays multidimensional-array