- [Java] 83. 파일 Copy 예제: 기반 스트림에 확장을 붙여 더욱 빠르게 연산시켜보자.2024년 05월 17일
- Song hyun
- 작성자
- 2024.05.17.:16
728x90반응형[Java] 파일 Copy 예제: 기반 스트림에 확장을 붙여 더욱 빠르게 연산시켜보자.
public class BufferedFileCopy { public static void main(String[] args) { // (바이트 기반 스트림을 활용) // 기반 스트림 + 보조스트림을 활용해서 // 파일 복사 기능을 만들고 // 소요 시간을 측정하시오 // 파일 경로 (복사할 대상) String sourceFilePath = "D:\\test\\a.zip"; String destinationFilePath = "copy1.zip"; // 소요 시간 long start = System.nanoTime(); try (FileInputStream fis = new FileInputStream(sourceFilePath); FileOutputStream fos = new FileOutputStream(destinationFilePath); BufferedInputStream bis = new BufferedInputStream(fis); BufferedOutputStream bos = new BufferedOutputStream(fos)) { int data; while ((data = bis.read()) != -1) { bos.write(data); } bos.flush(); // 매번 입출력을 발생하는 것이 아니라 한번에 입출력을 사용 long end = System.nanoTime(); // 소요 시간을 초 단위로 변환 --> 포멧팅 double seconds = (end - start) / 1000000000.0; // String 클래스의 format 메소드 사용해보기 String resultFormat = String.format("소요 시간은 : %.6f초 입니다.", seconds); // % 는 포멧 지정자의 시작 // f 지정자는 float, double 유형의 변수를 인자로 받아 처리하겠다 System.out.println(resultFormat); } catch (Exception e) { e.printStackTrace(); // 파일 저장 기능 가능 } } }
728x90반응형'Java > 자바 Stream' 카테고리의 다른 글
[Java] 85. 파일 입력 스트림(1) (문자 기반 스트림) (0) 2024.05.20 [Java] 84. 문자 기반 스트림 (0) 2024.05.17 [Java] 82. 파일 Copy(바이트 기반 입/출력) (0) 2024.05.16 [Java] 81. 파일 출력 스트림 (바이트) (0) 2024.05.16 [Java] 80. 바이트 기반의 파일 입력 스트림 (0) 2024.05.14 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)