개발/java

파일 입출력으로 파일 복사하기

나태쿤 2021. 3. 18. 10:19
728x90

입력과 출력은 자바 프로그램을 기준으로 외부에서 내부로 읽어들이는거라면 입력,

자바 프로그램에서 외부로 보내는것은 출력이다

 

그때 사용하는 객체는

FileInputStream , FileOutputStream이다.

위의 예제를보면 입력스트림에서 a.txt라는걸을 입력을 받았다

b.txt로 출력을 하는데(즉 새로운 b.txt 생성)

 

사실 입력을 받을때 1바이트씩 정수로 읽어들인다

이때 포인터라는 개념으로 1바이트읽고 다음으로 가서 또 1바이트씩 읽고 

계속 반복한다 그래서 while이 있는것이다

while쪽에보면 fi.read() 메소드가 있는데  다음 포인터가 존재하지않으면 -1을 반환한다.

즉, 1바이트씩 모두 다 읽었을때 -1을 반환한다.

그리고 하나씩읽을때마다 write()메소드로 하나씩 출력해낸다

 

a.txt만 하나준비해두고 아무 내용을 적어서 저장후에

실행해보면 b.txt가 생성되고 똑같은것을 볼수있다.

(파일의 경로는 src와 동등한 위치의 경로이다)

728x90