JAVA 11강_4_파일 복사(FileInputStream - FIleoutputStream / FileReader - FileWriter )

열라뽕따히·2024년 3월 2일

JAVA

목록 보기
72/79

1. FileInputStream / FileOutputStream

  • 1바이트 단위로 파일을 처리하는 바이트 기반 입출력 파일 스트림
  • 그림(이미지), 오디오 파일, 비디오 파일 등 모든 종류의 파일 처리가 가능함

2. FileReader / FileWriter

  • 2바이트 단위로 파일을 처리하는 문자 기반 입출력 파일 스트림
  • 문자 단위로 파일을 처리하기 때문에 그림, 오디오 파일 등은 처리가 불가능함
  • 문자(2바이트) 단위로 처리가 되기 때문에 한글이 들어 있는 파일 처리 가능





c드라이브에 저장되어 있는 코알라 사진을 복사해보자!



=============================코드=============================

public static void main(String[] args) throws Exception {
// try ~ catch 문 작성하지 않고 throws Exception 활용
		
	// 원본 이미지 파일 경로
		FileInputStream fis = new FileInputStream("C:/test/Koala.jpg");     // 이미지 파일을 읽어줘야 하니까 Input
		
	// 원본 이미지 파일 복사되어 저장될 파일 경로
		FileOutputStream fos = new FileOutputStream("C:/test/Copied.jpg");  // 출력이 되어야 하니까 Output
		
		while(true) {
			int readByte = fis.read();     // 원본 이미지 파일을 읽어주자! -> int값으로 반환
			
			if(readByte == -1) {
				break;
			}
			
			fos.write(readByte);		   // 읽은 원본 파일을 출력하자
		}
		
	// 입출력 객체 담기
		fos.close(); fis.close();
		
		System.out.println("이미지 복사 완료!");

	}

=============================실행=============================

0개의 댓글