package ch05;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
public class BufferedStreamTest {
public static void main(String[] args) {
long millisecond = 0;
try (FileInputStream fis = new FileInputStream("java_ex.zip");
FileOutputStream fos = new FileOutputStream("copy.zip");
BufferedInputStream bis = new BufferedInputStream(fis); // 기반스트림넣으면됨 fis
BufferedOutputStream bos = new BufferedOutputStream(fos);// 기반스트림넣으면됨 fos
// 큰파일을 빨리읽을땐 BufferedInputStream 버퍼드 사용
) {
millisecond = System.currentTimeMillis();
int i;
// while ((i = fis.read()) != -1) {
// fos.write(i);
// }
millisecond = System.currentTimeMillis() - millisecond;
// 파일 복사하는데 126168 소요되었습니다
// 파일 복사하는데 913 소요되었습니다.
while ((i = bis.read()) != -1) {
bos.write(i);
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("파일 복사 하는데 " + millisecond + " 소요 되었습니다.");
// Socket socket = new Socket();
// BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
// br.readLine(); //라인단위로 읽어라
}
}