我想读取包含整数的文本文件并将它们存储到2d数组中。 问题在于分裂。 我可以读:Android读取文本文件和拆分
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]);
}
}
所以我试图用一个分隔符,而不是它挂起,并告诉我,我得到一个类型不匹配? 读取文件时分裂整数的任何解决方案?
把这个行,如果(mScanner.hasNext())之前mapArray [i] [j] = scanner.nextInt();可能工作,也提供您的logcat – ingsaurabh
07-29 03:29:27.569:错误/ AndroidRuntime(5933):致命例外:GLThread 10 07-29 03:29:27.569:错误/ AndroidRuntime(5933):java.util .InputMismatchException 07: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:ERROR/AndroidRuntime(5933):at java.util.Scanner.nextInt(Scanner.java:1337) – semajhan
have你尝试了我在上面评论 – ingsaurabh