1. 첫 번째 방법
File file = new File("C:\\IJ\\test.txt");
try {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
int count = 0;
String str = "";
while ((str = br.readLine()) != null){
count++;
} // 끝까지 가있는 상태
// 다시 처음 위치로 초기화
fr = new FileReader(file);
br = new BufferedReader(fr);
String nameArr[] = new String[count];
int index = 0;
while ((str = br.readLine()) != null){
nameArr[index] = str;
index++;
}
br.close();
System.out.println(Arrays.toString(nameArr));
}
: 파일을 한 줄씩 읽으며 데이터의 줄 수(count)를 센다.
: readLine() 메서드는 파일 끝에 도달하면 null로 반환한다.
: 파일 읽기 위치가 파일 끝에 도달했으므로, 다시 처음부터 읽기 위해 fr과 br을 새로 생성.
: 데이터 개수(count)를 기준으로 배열 nameArr을 초기화한다.
: 다시 파일을 읽으며 배열에 데이터를 저장!
2. 두 번째 방법
File file = new File("C:\\IJ\\test.txt");
try {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String names = "";
String str = "";
int index = 0;
while((str = br.readLine()) != null){
names = names + str + "-";
}
br.close();
names = names.substring(0, names.length()-1); // 마지막 "-" 제거하고 가져오기
System.out.println(names);
String nameArr[] = names.split("-");
System.out.println(Arrays.toString(nameArr));
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
}
: 파일에서 한 줄씩 읽은 데이터를 str에 저장한다.
: 그리고 모든 줄의 데이터를 결합한 하나의 문자열 데이터를 names에 저장한다.(줄과 줄 사이의 구분자 "-")
: 마지막 "-" 제거하고 가져오기
: "-"로 분리하여 배열 nameArr[]에 저장한다.
'Java' 카테고리의 다른 글
Java) 객체지향 프로그래밍 : 클래스와 메소드 정리 (0) | 2025.01.05 |
---|---|
Java) 회원 관리 프로그램 : 파일 저장 및 읽기 (0) | 2025.01.05 |
Java) 파일 검색, 생성, 읽기/쓰기 설정, 삭제 정리 (0) | 2025.01.02 |
Java) 4가지 예외 클래스(Exception) 정리 (0) | 2025.01.02 |
Java) Exception 기초 & 실습 (0) | 2025.01.02 |