본문 바로가기

학원/자바

05_파일 입출력

728x90
반응형

파일

new File("a/b")        a 디렉터리의 b 파일 생성
new File("a", "b")        a 디렉터리의 b 파일 생성
a.exists()            존재하는 파일인지 체크
a.isFile()            파일인가?
a.isDirectory()        디렉터리인가?
a.length()            파일 크기(=들어있는 글자수의 바이트 수)
a.getName()            파일명
a.getPath()            파일위치(상대경로)
    ../ : 경로 위로 올라가라는 기호 (상대경로에서만 쓰임)   ./ : 현재 폴더
a.getAbsolutePath()        파일위치(절대경로)
a.canRead()            읽기 가능?
a.canWrite()            쓰기 가능?
a.isHidden()            숨김파일?
a.lastModified()        마지막 수정시각(최신파일 비교) long으로 반환
 디렉터리
a.listFiles()            내부에 들어있는 파일 목록 배열로 반환 File[] files = a.listFiles();
files.length()            디렉터리에 들어있는 파일의 개수 
a.getParentFile()        상위 폴더 반환

통로 생성

FileOutputStream stream = new FileOutputStream(target);    
FileInputStream strem = new FileInputStream(target);
stream.write('a')    'a' 출력
stream.read()    int로 하나씩 반환
stream.close() 다 쓴 통로는 정리

파일 복사 성능개선 : 배열을 통해 뭉텅이로 옮김

stream.read(buffer)            읽은 내용을 buffer라는 배열에 담는다
int size = stream.read(buffer)     읽은 내용을 buffer에 담고 읽은 개수를 size에 반환
out.write(buffer, 0, size)        buffer에 있는 내용을 0부터 size 개수만큼 내보내라

멀티 바이트 출력

FileOutputStream stream = new FileOutputStream(target); 
BufferedOutputStream buffer = new BufferedOutputStream(stream);
DataOutputStream mixer = new DataOutputStream(buffer);

멀티바이트 입력

FileInputStream stream = new FileInputStream(target);    //입력
BufferedInputStream buffer = new BufferedInputStream(stream);    //버퍼
DataInputStream combine = new DataInputStream(buffer);    //조립

dir.mkdirs(); //디렉터리 생성(없었을 때)

객체(Object) 출력

FileOutputStream stream = new FileOutputStream(target);
BufferedOutputStream buffer = new BufferedOutputStream(stream);
ObjectOutputStream mixer = new ObjectOutputStream(buffer);
    mixer.writeObject(objectname);    //object로 통합됨

FileWriter/BufferedWirter ->문자열과 관련된 처리를 해주는 클래스(바이트 배열 -> stream -> 출력)

FileWriter fw = new FileWriter(target);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter pw = new PrintWriter(bw);
pw.println(s); 줄단위로 읽어서 입력
728x90
반응형

'학원 > 자바' 카테고리의 다른 글

04_시간  (0) 2023.02.19
03_리스트, 셋, 큐, 스택, 맵  (1) 2023.02.19
02_정규표현식  (0) 2023.02.19
01_자주쓰는 메서드  (0) 2023.02.18