-
17일 차 입출력을 통해 파일복사삼성SDS_멀티캠퍼스/Java 2015. 10. 1. 10:40반응형
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test2 {
public static void main(String[] args) {
FileInputStream in = null;
FileOutputStream out = null;
try {
in = new FileInputStream("ocjp덤프.pdf");
out = new FileOutputStream("ocjp덤프_복사본.pdf");
//ocjp덤프.pdf의 모든 바이트를 읽어서 ocjp덤프_복사본.pdf에 그대로 써보기
byte[] buf = new byte[1024 * 4];
//read(byte[])를 통해 읽고 write(byte[])를 통해 쓴다.
//읽고 쓰는 바이트 배열의 크기는 4kb로 지정
int length;
while( (length = in.read(buf)) != -1)
//읽어들일 데이터가 없을때까지 계속 buf크기만큼씩 읽어들임
{
out.write(buf);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
if (in != null)
in.close();
if (out != null)
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
실제로 잘 읽힘
그런데 이렇게하면 용량에서 차이가 좀 난다.
그래서
빨간줄 친대로 해야 완벽히 복사
반응형'삼성SDS_멀티캠퍼스 > Java' 카테고리의 다른 글
17일 차 메모장에 저장된 값을 오름차순으로 정렬하여 다른 메모장에서 출력하기 (0) 2015.10.01 17일 차 메모장에 입력된 값을 더한 후 다른 메모장에서 출력 (0) 2015.10.01 17일 차 파일 입출력 (0) 2015.10.01 16일 차 Thread(쓰레드)를 이용하여 발사 카운트 시키기 (0) 2015.09.30 16일 차 Thread(쓰레드)로 1초에 한번씩 현재시간과 인삿 말 출력 (0) 2015.09.30