본문 바로가기

학원 일기/학원-JAVA

자바 25일차

1. API-IO(Input 스트림 - Output스트림)

 

* 스트림이란? - 데이터의 흐름

 

입력스트림,출력스트림,에러스트림

 

* 바이트 기반스트림 - 모든종류

*문작기반 스트림 - 오직 문자만 (바이트스트림으로는 한글 입력불가)

 

2.OutputStream

 

* write(byte) 출력 스트림으로 1바이트 보냄

*write(byte[]) 

 

3 \r < carrygereturn

*메모장에 입력할때는 \n\r같이쓰자

 

4.FileInputStream. /FileoutputStream

 

*try / catch구문에서 사용하려면 해당클래스 변수 null로초기화후 사용

*finally에는 스트림 둘다 닫아줘야함

 

.write()메소드 < ex> String str = "hi" 한후에 byte[] arr = str.getBytes(); 후에 출력변수.write(arr)하면 텍스트파일에 hi 라고써짐  ((write는 매개변수로 byte타입을 받음))

 

*파일 읽거나 보낼 경로 쓸떄는 (I/O)변수 = new  (I/O)클래스("경로입력\\파일명")

 

5.File클래스

 

File 변수명  = new File("파일 생성할 경로입력")

변수.midkr(); << 파일생성

변수.exists() << 폴더가 존재여부 boolean타입으로 반환

 

변수.delete(); << 폴더삭제

 

 

byte[] arr = new byte[100]; <<

인풋스트림 변수.read(arr);l << 토탈 데이터를 받는다

 

 

 

* FileReader클래스도 메소드기능 거의비슷

 

bf.flush();//모은버퍼전송

 

1byte 스트림에 한글2byte를 넣으면 출력못함 

 

 BufferedInputStream 은 바이트기밥ㄴ 성능향상 스트림입니다.
 * 문자를 쓰게이네 적합하지 않습니다.

 

 

bw.write(str1 + "\r\n" + str2);

 

BufferedReader에는 readLine메소드라고 한줄씩읽는 특별한기능을가진 메소드가있다 (여기서한줄은 ex)메모장의한줄)

 

while ( (str = br.readLine()) != null)

{

    System.out.println(str); 하면 다출력되는데 br.readLine넣으면 첫줄은 출력못한다! 왜냐면 와일문에서이미한번썼기때문

}

 

또신기한게 인코딩의 형식을 utf-8에서 다른걸로 바꾸면 이클립스에서 다시 읽을라하면 못읽는다 

이클립스는 utf-8로 인식하려하는데 파일이 그게아니여서 서로안맞는 뭐그런건데 정확히는 모르겠다

'학원 일기 > 학원-JAVA' 카테고리의 다른 글

자바27일차  (0) 2021.03.24
26일차  (0) 2021.03.23
자바24일차  (0) 2021.03.19
자바 23일차  (0) 2021.03.18
자바 22일차  (0) 2021.03.17