자바에서 텍스트파일 읽어 배열에 저장하기
-
게시물 수정 , 삭제는 로그인 필요
아무리 검색해서 찾아봐도 잘 모르겠네요..
일단 num.txt라는 파일이 있다고 가정하고..num.txt에는 아래처럼 0~11까지의 정수가 들어있어요..한줄에 40개의 숫자가 있는데..이 숫자 사이에 공백으로 나위어져 있어요..
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 8 8 8 8 8 8 8 8 6 8 8 8 8 8 8 8 8 8 8 8 8
1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
이런 파일을 읽어서 2차원 배열(40*40)에 저장하려 합니다. (텍스트 파일을 보면 2차원 배열 모양이니까요..) 소스코드로 좀 올려주시면 감사하겠습니다.(아래는 짜던건데..안 되더라구요..혹시 몰라서 같이 올립니다)
void loadFile(String fileName) {
LineNumberReader mapRead;
try {
mapRead = new LineNumberReader(new FileReader(fileName));
for (int i = 0; i < BLOCKX; i++) {
StringTokenizer st = new StringTokenizer(mapRead.readLine().trim()," ");
for (int j = 0; j < BLOCKY; j++) {
mapFile[i][j] = Integer.parseInt(dis.readLine());
}
}
mapRead.close();
} catch (Exception e) {
System.out.println("file read errer");
}
}
아무리 검색해서 찾아봐도 잘 모르겠네요..
일단 num.txt라는 파일이 있다고 가정하고..num.txt에는 아래처럼 0~11까지의 정수가 들어있어요..한줄에 40개의 숫자가 있는데..이 숫자 사이에 공백으로 나위어져 있어요..
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 8 8 8 8 8 8 8 8 6 8 8 8 8 8 8 8 8 8 8 8 8
1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
이런 파일을 읽어서 2차원 배열(40*40)에 저장하려 합니다. (텍스트 파일을 보면 2차원 배열 모양이니까요..) 소스코드로 좀 올려주시면 감사하겠습니다.(아래는 짜던건데..안 되더라구요..혹시 몰라서 같이 올립니다)
void loadFile(String fileName) {
LineNumberReader mapRead;
try {
mapRead = new LineNumberReader(new FileReader(fileName));
for (int i = 0; i < BLOCKX; i++) {
StringTokenizer st = new StringTokenizer(mapRead.readLine().trim()," ");
for (int j = 0; j < BLOCKY; j++) {
mapFile[i][j] = Integer.parseInt(dis.readLine());
}
}
mapRead.close();
} catch (Exception e) {
System.out.println("file read errer");
}
}