Buffer : 메모리를 활용하여 데이터를 출력 또는 입력(temp : 임시저장소)
buffer는 기억하는애
FileReader fr = new FileReader(url);
System.out.println((char)fr.read());
//파일을 읽을때 해당 방식은 텍스트 파일의 한글자만 출력됨..
▶ 이걸 개선한게 Buffer
⚡ Buffer
FileReader fr = new FileReader(url);
BufferedReaderbr = new BufferedReader(fr); ( 이걸 맞춰주면 에러날일 X , buffer가 먼저 나올 순 없음)
👀주의
- reader(or write) 선언 후 buffer 선언
- Buffer는 임시 저장된 공간의 데이터이므로 read 또는 readLine() 사용시
무조건 데이터는 순차적으로 삭제시킨다 (조건문 사용 주의 , 반목문으로 출력할것!)
public static void main(String[] args) { try { String url = "D:\\webpage\\agree\\src\\main\\java\\io\\agree.txt"; FileReader fr = new FileReader(url); BufferedReader br = new BufferedReader(fr); //임시 저장소에 저장됨 /*while(true) { String msg = br.readLine(); //임시저장소 값 공백 포함 읽어들임 if(msg != null) { System.out.println(msg); }else { break; } }*/ //좀더 간단 String msg=""; while((msg = br.readLine()) != null) { //null 작동 -> false(반복문 종료) System.out.println(msg); } br.close(); //buffer 종료(필수) fr.close(); //reader 종료(필수) }catch(Exception e) { System.out.println(e.getMessage()); } }
⚡ LineNumberReader
해당 문서에 라인 갯수를 확인 - 잘 안씀..
FileReader fr = new FileReader(url);
LineNumberReader lr = new LineNumberReader(fr);
public static void main(String[] args) { String url = "D:\\webpage\\agree\\src\\main\\java\\io\\agree.txt"; try { FileReader fr = new FileReader(url); LineNumberReader lr = new LineNumberReader(fr); int n = 0; while(lr.readLine() != null) { //int n = lr.getLineNumber(); System.out.println(n); } lr.close(); fr.close(); }catch(Exception e) { System.out.println(e.getMessage()); } }
'CLASS > JAVA' 카테고리의 다른 글
#14-3 / Stream 활용법 (0) | 2024.05.21 |
---|---|
#14-2 / nio (0) | 2024.05.21 |
#13-4 / I/O 🔥 (0) | 2024.05.20 |
#13-3 / Map클래스배열(Key배열) (0) | 2024.05.20 |
#13-2 / Thread (0) | 2024.05.20 |