⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ftpupload.java

📁 用java的ftpClient包和swing编写的带界面的ftp客户端
💻 JAVA
字号:
package djr.ftp;

import java.io.File;
import java.io.IOException;

import com.enterprisedt.net.ftp.FTPClient;
import com.enterprisedt.net.ftp.FTPException;

public class FtpUpload
{
	private FTPClient ftpClient;

	public FtpUpload(FTPClient ftpClient)
	{
		this.ftpClient = ftpClient;
	}

	//	 上传文件
	public void uploadFile(String name) throws IOException, FTPException
	{
		//	取得远程文件名
		String fileName = name.substring(name.lastIndexOf("\\") + 1);
		//  调用FTPClient的上传文件方法
		ftpClient.put(name, fileName);
	}

	// 上传文件夹方法
	public void uploadDir(String dir) throws IOException, FTPException
	{
		// 取得远程文件夹名
		String dirName = dir.substring(dir.lastIndexOf("\\") + 1);
		// 创建远程文件夹
		ftpMkDir(dirName);
		// 取得远程主机当前文件夹
		String currentDir = ftpClient.pwd();
        // 进入远程文件夹
		ftpClient.chdir(dirName);
	    // 获得本地文件夹下的文件信息
		String[] subFileNames = this.getDirList(dir);
		for (int i = 0; i < subFileNames.length; i++)
		{// 对本地文件夹下的文件信息进行遍历
			String tmpPath = dir + "\\" + subFileNames[i];
			File tmpFile = new File(tmpPath);
			if (tmpFile.isFile())
			{ // 上传文件
				this.uploadFile(tmpPath);
			}
			else
			{// 上传文件夹
				this.uploadDir(tmpPath);
			}
		}
		// 返回到上一级目录
		ftpClient.chdir(currentDir);
	}

	// 获得本地文件夹下的文件信息
	public String[] getDirList(String path)
	{
		File file = new File(path);
		String[] subFileName = file.list();
		return subFileName;
	}

	//	 创建远程文件夹
	private synchronized void ftpMkDir(String dirName) throws IOException, FTPException
	{
		ftpClient.mkdir(dirName);
	}
	
	public FTPClient getFtpClient()
	{
		return ftpClient;
	}

	public void setFtpClient(FTPClient ftpClient)
	{
		this.ftpClient = ftpClient;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -