자바 Day 17

Hyunsu·2023년 4월 9일
0

Today I Learned

목록 보기
17/37
post-thumbnail

📝 목차

Chapter 16 파일 입출력


Chapter 16 파일 입출력

바이트 기반 스트림

  • OutputStream : 1 byte 를 쓸 때 사용하는 출력 스트림
  • InputStream : 1 byte 를 읽을 때 사용하는 입력 스트림
File file = new File("data"); // 파일 경로
FileOutputStream fos = null; // 파일 출력 스트림 생성

try {
   fos = new FileOutputStream(file, true); // 이어쓰기 허용
   fos.write(65); // 내용 쓰기
} catch(IOException e) {
   e.printStackTrace();
} finally {
   if(fos != null) {
     try {
       fos.close(); // 파일 출력 스트림 닫기
     } catch (IOException e) { }
   }
}

File file = new File("data"); // 파일 경로
FileInputStream fis = null; // 파일 입력 스트림 생성

try {
   fis = new FileInputStream(file);
   int data = 0;
   while((data = fis.read()) != -1) { // -1 : End Of File
     System.out.println((char)data); // 내용 읽기
   }
} catch(IOException e) {
   e.printStackTrace();
} finally {
   if(fis != null) {
     try {
       fis.close(); // 파일 출력 스트림 닫기
     } catch (IOException e) { }
   }
}

문자 기반 스트림

  • Writer : 2 byte 이상을 쓸 때 사용하는 출력 스트림
  • Reader : 2 byte 이상을 읽을 때 사용하는 입력 스트림

상대 경로와 절대 경로

File 클래스에 전달하는 경로에 따라 파일 입출력 위치 변경 가능

File file = new File("data"); // 상대 경로
File file = new File("c:\\dev\\data"); // 절대 경로

Reference

profile
현수의 개발 저장소

0개의 댓글