폴더 복사 반복
16612 단어 학습 기록
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* copy
*/
public class Test3 {
public static void main(String[] args){
File file = new File("F:\\1");
File file2 = new File("F:\\2");
if (file.getAbsolutePath().equals(file2.getAbsolutePath())) {
System.out.println(" copy( : )");
return;
}
//
if (!file.exists()) {
System.out.println(" ");
return;
}
// file , copy
if (file.isFile()) {
// file copy ,copy
System.out.println(" copy , ");
copyFile(file, file2);
System.out.println(" copy ");
return;
}
// file
if (file.isDirectory()) {
System.out.println(" copy , ");
copyAllFiles(file,file2);
System.out.println(" copy ");
}else {
System.out.println(" , copy ");
}
}
public static void copyAllFiles(File file,File file2) {
File[] listFiles = file.listFiles();
if (listFiles!=null) {
for (File f : listFiles) {
File temp = new File(file2.getAbsoluteFile(),f.getName());
if (f.isDirectory()) {
temp.mkdirs();
copyAllFiles(f,temp);
}else {
copyFile(f, temp);
}
}
}
}
public static void copyFile(File f1,File f2){
FileInputStream fileInputStream = null;
FileOutputStream fileOutputStream = null;
try {
fileInputStream = new FileInputStream(f1);
fileOutputStream = new FileOutputStream(f2);
int length = 0;
byte[] bytes = new byte[1024];
while ((length=fileInputStream.read(bytes))!=-1) {
fileOutputStream.write(bytes,0,length);
//System.out.println(" ");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if (fileInputStream!=null) {
fileInputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
try {
if (fileOutputStream!=null) {
fileOutputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Vue.js Transition 개요Vue.js의 Transition 기능을 요약합니다. (초기초 학습 기록) 1. transition 태그로 둘러싸기 트랜지션을 적용하고 싶은 범위를 transition 태그로 둘러싸, 컴퍼넌트를 작성. 이 컴퍼넌트내...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.