입출력
입력 스트림 -> 프로그램 -> 출력 스트림
system.in
File Input Stream
FileReader
반환형
s.getInputStream() : InputStream
p.getInputStream() : InputStream
abstract(바이트 단위) abstract(문자단위)
리소스 File Input Stream -> InputStream FileReader -> Reader
ex)
문자로만 되어있다 -> FileReader 으로 읽어야함
이미지,mp3,동영상 파일 -> fileInputStream 으로 읽어야함
reader r = System.in; X ㅡㅡㅡ> 자동형변환 안됨!!
reader r = (reader)system.in; X
new inputstream(); X
new reader(); X ㅡㅡㅡ> 전부다 불가능!
아스키코드가 나옴
가,c,b,a
int r = is.read();
s.o.p(r); //97
r = is.read(); //98
r = is.read(); //99
r = is.read(); //가 는 나올수가 없음
reader에 상속되는 애들은 뒤에 reader가 붙여진다.
reader을 사용하면
Reader rdc new InputStream Reader(is);
r = rd.read(); //한문자를 받아서 반환한다.
s.o.p(r); //97,98,99,문자단위(유니코드로 변환되어 나온다) 가 나올수 있다.
write
FileOutputStream fos = new FileOutputStream ("a txt");
fos.write(1); //1byte 값쓰기
fos.write(10); //1.0의 byte 값쓰기
FileWrite fw = new FileWriter("b.txt");
fw.write('A'); //'A'문자값쓰기
fw.write('B'); //'B'문자값쓰기
fw.write(67); //67의 문자값쓰기
안되는 경우
지금 사용하는 객체를 유지하기 위해서
object o = ois.readObject(); -> 객체역직렬화(객체를 녹인다.)
oos.writeObject(new Date()); -> 객체직렬화(객체를 그 상태로 얼린다.)
파일로부터 데어터타입별 읽기
자원: 파일(a.txt)
노드스트림 : FileInputStream
필터스트림 : DataInputStream
자식 exception이 앞에!
부모 exception은 뒤에 와야한다.
fr.close(); ㅡ> 자원과 연결을 끊는다. (객체를 없애는것이 아니다! 연결 정보만 끊는것!)
참조형 변수를 초기화 하려면 = null; 을 해준다.
'수업 > JAVA' 카테고리의 다른 글
230612 네트워크 (채팅창만들기) (5) | 2023.06.12 |
---|---|
230609 공유데이터, 네트워크 (0) | 2023.06.09 |
230608 수업 (정보 직렬화, 자료 삭제,생성,불러오기, Thread) (0) | 2023.06.08 |
230611 배열 (0) | 2023.06.06 |
230610 제어문(조건문,반복문) (0) | 2023.06.06 |