FileReader & FileWriter 활용
String fName = "test.txt"; // 원본 파일 명
String fwName = "output.txt"; // 쓰기 파일 명
String str = "오늘은 날씨가 좋아서 삼겹살을 먹어야 겠습니다."; // 작성 할 문자열
FileReader fReader = new FileReader(fName);
FileWriter writer = new FileWriter(fwName);
while (true) {
int data = fReader.read();
if (data < 0) { // 데이터가 없으면
break;
}
char ch = (char) data; // 뽑은 데이터 문자 ex)'오','늘','은'...
System.out.println(ch);
System.out.println("data : " + data);
}
// 읽은 데이터를 쓰기파일에 넣기
writer.write(str);
fReader.close();
writer.close();
StringTokenizer 활용
package kr.co.dong.io;
import java.io.IOException;
import java.util.StringTokenizer;
public class TokenTest01 {
public static void main(String[] args) throws IOException {
String str = "사과,배,소나무,감,감나무,배나무,참외";
StringTokenizer st = new StringTokenizer(str, ",");
int count = st.countTokens();
System.out.println(", 를 기준으로 잘라낸 토큰 개수 : " + count);
//토큰 개수 만큼 반복문으로 출력
for (int i = 0; i < count; i++) {
String data = st.nextToken();
System.out.println(data);
}
}
}
실행 결과
, 를 기준으로 잘라낸 토큰 개수 : 7
사과
배
소나무
감
감나무
배나무
참외
LineNumberReader && StringTokenizer 활용
package kr.co.dong.io;
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
import java.util.StringTokenizer;
public class TokenTest02 {
public static void main(String[] args) throws IOException {
String str = ""; // 읽어온 문자열 라인을 저장할 변수
StringTokenizer st = null;
LineNumberReader lNReader = null;
lNReader = new LineNumberReader(new FileReader("student.txt")); // 읽어 올 파일
while (true) {
str = lNReader.readLine(); // 텍스트 파일의 한 줄 읽어오기
if (str == null)
break;
st = new StringTokenizer(str, ","); // , 를 기준으로 토큰화
int lNo = lNReader.getLineNumber(); // LineNumberReader 활용 Number 표기
System.out.print(lNo + " : ");
int count = st.countTokens();
for (int i = 0; i < count; i++) { // 한줄
System.out.print(" " + st.nextToken());
}
System.out.println();
}
}
}
실행결과
1 : 김도현 28 1 영어
2 : 윤가을 28 2 수학
3 : 궁성호 29 3 수학
4 : 유종현 30 4 국어
5 : 장현세 40 5 중국어
6 : 윤채영 40 6 영어
7 : 김호현 30 7 국어
'IT > Java' 카테고리의 다른 글
| [JAVA] ArrayList 클래스 활용 (0) | 2024.05.30 |
|---|---|
| [Java] forEach (0) | 2024.05.12 |