本工具采用Java语言开发,能够通过网络将源文件夹内的所有内容安全高效地复制到目标位置,并支持自动化定期备份功能。
Java文件夹复制(远程复制(网络传输),用于远程备份文件)支持文件夹及嵌套子文件夹。
```java
import java.io.*;
import java.util.*;
public class FileSelection {
private File rootDirectory; // 根目录
private File[] fileList; // 文件目录下面的文件列表(包括目录, 用于多次判断)
private ArrayList fileArrayList; // 用于存储文件(只是文件)列表
public FileSelection() {
fileArrayList = new ArrayList<>();
rootDirectory = new File(Test);
rootDirectory.mkdir();
}
public void initFileArrayList() {
if (rootDirectory.isDirectory()) {
fileList = rootDirectory.listFiles();
for (int i = 0; i < fileList.length; i++) {
if(fileList[i].isFile()){
fileArrayList.add(fileList[i]);
} else if (fileList[i].isDirectory()) {
fileList[i].mkdir();
rootDirectory=fileList[i];
initFileArrayList();
}
}
}
}
public void addFiles(File f){
fileArrayList.add(f);
}
public ArrayList getFileArrayList() {
return fileArrayList;
}
}
```
```java
package com.xinxin.Client;
import java.io.*;
import java.net.*;
public class BackupClient implements Runnable {
private int port; // 服务器端口
private InetAddress ipAddress; // 服务器IP地址
private Socket clientSocket; // 客户端套接字
private InputStream inputStream; // 网络输入流
private OutputStream outputStream;// 网络输出流
private File file;
public BackupClient(InetAddress ipAddress, int port, File file) {
this.ipAddress = ipAddress;
this.port = port;
}
```