텍스트 파일의 데이터를 읽고 2 차원 배열에 넣는 데 문제가 있습니다. 데이터 세트의 샘플은 다음과 같습니다Java의 텍스트 파일에서 데이터 읽기
이 코드의 문제가1,2,3,4,5,6
1.2,2.3,4.5,5.67,7.43,8
그것은 단지 첫 번째 라인을 읽고 다음 라인을 읽지 않는다는 것입니다. 모든 제안을 부탁드립니다.
package test1;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class Test1{
public static void main(String args[])throws FileNotFoundException, IOException{
try{
double[][] X = new double[2][6];
BufferedReader input = new BufferedReader(new FileReader(file));
String [] temp;
String line = input.readLine();
String delims = ",";
temp = line.split(delims);
int rowCounter = 0;
while ((line = input.readLine())!= null) {
for(int i = 0; i<6; i++){
X[rowCounter][i] = Double.parseDouble(temp[i]);
}
rowCounter++;
}
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}finally{
}
}
}
어떻게 첫 번째 줄만 읽고 있다고 진단 했습니까? 필자가 읽는 모든 라인에 대해 임시 배열을 다시 생성하지 않기 때문에 매 반복마다 첫 번째 행을 처리하는 것처럼 보입니다. –
정확 하 게, 당신은 절대적으로 옳습니다. 문제는 모든 라인에 대해 임시 배열을 어떻게 다시 만들어야하는지에 대한 지식입니다. – MTT
코드 블록에 일관되고 논리적 인 들여 쓰기를 사용하십시오. 코드의 들여 쓰기는 사람들이 프로그램 흐름을 이해하도록 돕기위한 것입니다. –