Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 뉴 컨피던스
- 참조 계수
- 월칙
- 도파민형 인간
- node
- ESG
- java
- Container
- 히든 스토리
- 비메모리 자원
- colllection
- 모두가 기다리는 사람
- try width resources
- 레퍼런스 복사
- HTML
- Infresh
- try-with-resources
- 공헌감
- docker
- CSS
- 수부타이
- 칭기즈칸의 위대한 장군 수부타이
- 과제의 분리
- sentry
- kubernetes
- 이펙티브 자바
- 부자의그릇
- 아웃풋법칙
- 쿠버네티스
- apache kafka
Archives
- Today
- Total
Hi
Input Output Stream 본문
// FILE Stream
// Network Stream
// => InputStream
// => OutputStream
import org.junit.Test;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class Program_0308 {
public static final String SRC_PATH = "/Users/ourguide/Downloads/1.pdf";
public static final String DEST_PATH = "/Users/ourguide/Desktop/4.pdf";
public static void fileCopy(String src, String dest) throws Exception {
FileInputStream fis = new FileInputStream(src);
FileOutputStream fos = new FileOutputStream(dest);
while (true) {
int data = fis.read();
if (data == -1)
break;
fos.write(data);
}
}
// Java Stream 기반의 처리 방식
// => 각각의 기능을 별도의 클래스로 제공하고 있다.
// => 자바의 파일 IO는 성능에 문제가 있다.
// : NIO API
public static void fileCopy2(String src, String dest) throws Exception {
FileInputStream fis = new FileInputStream(src);
BufferedInputStream bis = new BufferedInputStream(fis);
FileOutputStream fos = new FileOutputStream(dest);
BufferedOutputStream bos = new BufferedOutputStream(fos);
while (true) {
int data = bis.read();
if (data == -1)
break;
bos.write(data);
}
}
@Test
public void copyTest1() throws Exception {
fileCopy(SRC_PATH, DEST_PATH);
}
@Test
public void copyTest2() throws Exception {
fileCopy2(SRC_PATH, DEST_PATH);
}
@Test
public void copyTest3() throws Exception {
Path spath = Paths.get(SRC_PATH);
Path dpath = Paths.get(DEST_PATH);
Files.copy(spath, dpath);
}
}
'Programming > Java' 카테고리의 다른 글
Clone() 과 공변의 룰 (0) | 2018.04.09 |
---|---|
enum (0) | 2018.04.09 |
Interface (0) | 2018.04.09 |
functionalInterface (0) | 2018.04.09 |
Collection / Container (0) | 2018.04.04 |