반응형
Android File copy
파일 복사
API26+
@RequiresApi(api = Build.VERSION_CODES.O)
public static void copy(File origin, File dest) throws IOException {
Files.copy(origin.toPath(), dest.toPath());
}
FileChannel 이용하는 방법 (2GB 이하만 가능)
public void copy(File src, File dst) throws IOException {
FileInputStream inStream = new FileInputStream(src);
FileOutputStream outStream = new FileOutputStream(dst);
FileChannel inChannel = inStream.getChannel();
FileChannel outChannel = outStream.getChannel();
inChannel.transferTo(0, inChannel.size(), outChannel);
inStream.close();
outStream.close();
}
API19+
public static void copy(File src, File dst) throws IOException {
try (InputStream in = new FileInputStream(src)) {
try (OutputStream out = new FileOutputStream(dst)) {
// Transfer bytes from in to out
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
}
}
}
다되는
public static void copy(File src, File dst) throws IOException {
InputStream in = new FileInputStream(src);
try {
OutputStream out = new FileOutputStream(dst);
try {
// Transfer bytes from in to out
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
} finally {
out.close();
}
} finally {
in.close();
}
}
메소드에 static 은 상황에 따라 넣고 빼고 하면 됩니다.
728x90
반응형
'Android' 카테고리의 다른 글
[Android] androidx 에서 File 공유하기, File Share (0) | 2020.03.03 |
---|---|
[Android] Get only file name from path (파일명만 가져오기) (0) | 2020.03.03 |
[Android] BuildConfig 변수 생성/사용하기 (0) | 2020.03.02 |
[Android] 텍스트, 이미지, 동영상 일반 공유, 카카오톡 공유 (2) | 2020.02.24 |
[Android] Custom Dialog 만들기 (3) | 2020.02.15 |
댓글