👀 기억하는애
Buffer
ex) io 사용시 좀더 빨리 가져오기 위함 - FileReader => BufferedReader
👀 가져오거나 저장하는애
Stream(InputStream,OutputStream) -> 바이너리(이미지 , 동영상, 오디오, pdf,zip 등..)
Stream은 byte단위로 변환 후 집어넣어야 함!
byte[] data = ag.getBytes();
InputStream 사용시 read 필수
FileReader,FileWriter -> ASCII
⚡ Writer ,Reader ( ASCII 전용 )
FileReader : 문자 데이터 즉 (ASCII)만 해당 / 읽기 - BufferedReader
FileWriter : 문자 데이터 저장파일 ,(ASCII)만 해당 / 쓰기(저장) -BufferedWriter
⚡ Stream (바이너리전용-byte )
InputStream : io - buffer 필수 , 걍 출력만 함 -BufferedInputStream
OutputStream : 대상 파일에 사용자가 입력한 내용을 저장시키는 기능 -BufferedOutputStream
-> 얘네들의 부모가 InputStream, OutputStream
* BufferedInputStream : byte 내용을 temp 임시 메모리에 저장
⚡ StreamReader( InputStreamReader , OutputStreamReader ) : 중간다리
(StreamWriter도있음)
ASCII전용을 stream(바이너리)으로 가져올시 바로 BufferedReader을 할수 없어 중간에 한번 거쳐서 bufferedReader로 저장해야한다..?
byte data[] = new byte[머시기.available()] (byte를 문자로 바꾸는 과정) 사용 안해도됨
InputStream > InputStreamReader > BufferedReader (O)
InputStream > BufferedReader (X)
InputStream > BufferedInputStream (O)
InputStreamReader > BufferedReader (O)
🌸
flush() : 메모리를 초기화 - write에서는 해주는게 좋음
readLine() : buffer에서 한줄다 읽기
available()
stream 사용시 byte단위로 왓다리갓다리 하기 때문에 string화 시켜야 하는데
그때 byte값을 넣어줘야 함, 그때 사용 => byte temp[] = new byte[fs.available()];
- 현재 읽을수 있는 바이트수를 반환한다.
용량을 몇바이트인지 only 측정만 함 (100 200 이렇게 반환)
getBytes()
stream 사용시 유니코드 문자열(String) -> 바이트코드 변환 (보낼때)
문자를 -> byte 변경만 하는애 , 걍 string에도 가능 (available은 숫자 반환, 얘는 기능을 하는거임 - toString 느낌~ )
https://dev-eunse.tistory.com/82
'MEMO > Java-memo' 카테고리의 다른 글
interface 정리 (0) | 2024.05.24 |
---|---|
abstract 정리 (0) | 2024.05.24 |
해당 디렉토리에 있는 모든 filelist를 가져오는 코드 (0) | 2024.05.22 |
substring (0) | 2024.05.22 |
byte단위 배열 데이터 출력 (0) | 2024.05.21 |