- [Java] 82. 파일 Copy(바이트 기반 입/출력)2024년 05월 16일
- Song hyun
- 작성자
- 2024.05.16.:49
728x90반응형[Java] 82. 파일 Copy(바이트 기반 입/출력)
1. 시나리오 코드(1) : 기반 스트림인 파일 입력,출력 스트림을 사용
-기반 스트림을 사용하면 시간을 획기적으로 줄일 수 있다.
package io.cho3; import java.io.FileInputStream; import java.io.FileOutputStream; public class FileCopy { public static void main(String[] args) { // TODO Auto-generated method stub // 스트림은 기본적으로 단방향이다. // 입력 스트림, 출력 스트림 두 개가 필요하다. // 파일 경로 (복사할 대상) String sourceFilePath = "C:\\Users\\Public\\Documents\\a.zip"; // 목적지 파일 String destinationFilePath = "copy1.zip"; // 소요 시간 확인 long startTime = System.nanoTime(); try(FileInputStream in = new FileInputStream(sourceFilePath); FileOutputStream out = new FileOutputStream(destinationFilePath)) { int data; while((data=in.read()) != -1) { // 파일에 출력 out.write(data); } System.out.println("입력 스트림 --> 출력 스트림 --> 입력 --> 출력의 반복 완료"); } catch (Exception e) { // TODO: handle exception } long endTime = System.nanoTime(); long duration = endTime=startTime; System.out.println("복사의 소요 시간은 :"+duration); // 소요 시간을 초 단위로 변환 ->> 포맷 double seconds = duration/1_000_000_000.0; // String 클래스에 format 메서드 사용해보기 String resultFormat = String.format("소요 시간은 : %.6f초 입니다. ", seconds); // %는 포맷 지정자의 시작 // f 지정자는 float, double 유형의 변수를 인자로 받아 처리하겠다 라는 의미 System.out.println(resultFormat); } }
728x90반응형'Java > 자바 Stream' 카테고리의 다른 글
[Java] 84. 문자 기반 스트림 (0) 2024.05.17 [Java] 83. 파일 Copy 예제: 기반 스트림에 확장을 붙여 더욱 빠르게 연산시켜보자. (0) 2024.05.17 [Java] 81. 파일 출력 스트림 (바이트) (0) 2024.05.16 [Java] 80. 바이트 기반의 파일 입력 스트림 (0) 2024.05.14 [Java] 79. 표준 입출력 (0) 2024.05.14 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)