자바 에서 스 레 드 를 통 해 파일 을 한 경로 에서 다른 경로 로 복사 합 니 다.
3641 단어 자바
다 중 스 레 드 를 사용 하여 여러 파일 동기 화 복사 기능 을 실현 합 니 다.예 를 들 어 파일 A 를 E 판 의 한 폴 더 에 복사 하여 F 판 으로 복사 합 니 다.
너무 어 려 울 수도 있 으 니 한 걸음 한 걸음 파일 복사 부터 하 세 요.
Demo.java
package com.CopyFile;
import java.io.*;
public class Demo {
public static void main(String[] args) throws IOException {
Filecopy.readFile(); // ,
}
}
----------------------------------------------------------------------------
Filecopy.java
package com.CopyFile;
import java.io.*;
public class Filecopy {
public static final String COPY_FILE = "F:\\lalala.txt"; // copy
public static final String TARGET_FILE = "E:\\hahaha.txt"; //copy
public static void readFile() throws IOException { // IO
File file = new File(COPY_FILE); //new file
File outFile = new File(TARGET_FILE); //new outfile
if (outFile.isFile()) { // ,
outFile.createNewFile();
}
InputStream is = null;
OutputStream os = null;
try {
is = new FileInputStream(file); //
os = new FileOutputStream(outFile); //
int length=0; //
byte[] temp = new byte[1024]; // 1024
while ((length = is.read(temp)) != -1) {
os.write(temp,0,length); //
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {//
if (os != null) {
os.close();
}
if (is != null) {
is.close();
}
}
}
}
스 레 드 를 통 해 파일 복사:
Demo.java
------------------------
package com.CopyFile;
import java.io.*;
public class Demo {
public static final String COPY_FILE = "F:\\lalala.txt"; // copy
public static final String TARGET_FILE = "E:\\hahaha.txt"; //copy
public static void main(String[] args) throws IOException {
Filecopy fc = new Filecopy(COPY_FILE, TARGET_FILE); // ,
fc.start();
}
}
************************************************
Filecopy.java
-------------------------
package com.fuzhiThread;
import static com.fuzhiThread.Demo.COPY_FILE;
import static com.fuzhiThread.Demo.TARGET_FILE;
import java.io.*;
public class CopyFile extends Thread{
public void run(){
File file = new File(COPY_FILE);
File outFile = new File(TARGET_FILE);
if (outFile.isFile()){
try {
outFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
InputStream is = null; // , 。
OutputStream os = null;
try {
is = new FileInputStream(file);
os = new FileOutputStream(outFile);
int length = 0;
byte[] temp = new byte[1024]; // 1024 ,1M, , 2M 。
if((length = is.read(temp)) != -1){ // , , while 。
os.write(temp, 0, length); // len , off 。JDK1.8 。
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
is.close(); //
os.close(); //
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.