카테고리 없음
java 파일 복사
뭉기
2011. 9. 23. 14:18
출처 : http://goppa.tistory.com/entry/JAVA-FileStream%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%ED%8C%8C%EC%9D%BC-%EB%B3%B5%EC%82%AC
File Stream을 이용한 파일 복사
Buffered Stream을 이용한 파일 복사
* File 스트림보다 Buffered 스트림이 훨씬 빠른 시간에 파일 복사가 된다.
File Stream을 이용한 파일 복사
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;/** * FileStream을 이용한 파일 복사 예제(한 바이트 단위) */public class FileCopy { /* * FileCopy 프로그램의 실행 * java FileCopy 원본파일이름 목표파일이름 * 예) java FileCopy s.exe t.exe * s.exe는 같은 디렉터리 상에 존재해야 한다. */ public static void main(String[] args) throws IOException{ int i, len = 0; FileInputStream fis = new FileInputStream(args[0]); FileOutputStream fos = new FileOutputStream(args[1]); long psecond = System.currentTimeMillis(); while((i=fis.read()) != -1){ fos.write(i); len++; } fis.close(); fos.close(); psecond = System.currentTimeMillis() - psecond; System.out.println(len + " bytes " + psecond + " miliseconds"); }} |
Buffered Stream을 이용한 파일 복사
* File 스트림보다 Buffered 스트림이 훨씬 빠른 시간에 파일 복사가 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;/** * Buffered Stream을 이용한 파일 복사 예제(한 바이트 단위) * * - File 스트림보다 Buffered 스트림이 훨씬 빠른 시간에 파일 복사가 된다. * [필수] 데이터의 용량이 큰 경우 무조건 Buffered 스트림으로 변환해서 사용한다. */public class BufferedFileCopy { /* * BufferedFileCopy 프로그램의 실행 * java BufferedFileCopy 원본파일이름 목표파일이름 * 예) java BufferedFileCopy s.exe t.exe * s.exe는 같은 디렉터리 상에 존재해야 한다. */ public static void main(String[] args) throws IOException{ int i, len = 0; FileInputStream fis = new FileInputStream(args[0]); FileOutputStream fos = new FileOutputStream(args[1]); BufferedInputStream bis = new BufferedInputStream(fis); BufferedOutputStream bos = new BufferedOutputStream(fos); long psecond = System.currentTimeMillis(); while((i=bis.read()) != -1){ bos.write(i); len++; } bis.close(); bos.close(); psecond = System.currentTimeMillis() - psecond; System.out.println(len + " bytes, " + psecond + " miliseconds"); } } |