FtpUpload t = new FtpUpload()
System.out.println("new FtpUpload----->")
try
{
// 连接ftp服务器
t.connect("", "1.1.1.1", 21, "username", "123")
System.out.println("connect------------>>>")
// 将服务器本地的文件上传到ftp服务器
File file = new File(realFilePath)
System.out.println("upload--before")
t.upload(file)
System.out.println("upload--after")
// 删除本地保存的文件
DelFolder.delFolder(realFilePath)
}
catch (Exception e)
{
e.printStackTrace()
}
import java.io.File;
import java.io.FileInputStream;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
public class FtpUpload
{
public FTPClient ftp;
/**
*
* @param path 上传到ftp服务器哪个路径下
* @param addr 地址
* @param port 端口号
* @param username 用户名
* @param password 密码
* @return
* @throws Exception
*/
public boolean connect(String path, String addr, int port, String username, String password) throws Exception
{
boolean result = false;
ftp = new FTPClient();
int reply;
ftp.connect(addr, port);
ftp.login(username, password);
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply))
{
ftp.disconnect();
return result;
}
ftp.changeWorkingDirectory(path);
result = true;
return result;
}
/**
*
* @param file 上传的文件或文件夹
* @throws Exception
*/
public void upload(File file) throws Exception
{
if (file.isDirectory())
{
System.out.println("file isDirectory");
ftp.makeDirectory(file.getName());
ftp.changeWorkingDirectory(file.getName());
String[] files = file.list();
for (int i = 0; i < files.length; i++)
{
File file1 = new File(file.getPath() + "\\" + files[i]);
if (file1.isDirectory())
{
upload(file1);
ftp.changeToParentDirectory();
}
else
{
File file2 = new File(file.getPath() + "\\" + files[i]);
FileInputStream input = new FileInputStream(file2);
ftp.storeFile(file2.getName(), input);
input.close();
}
}
}
else
{
System.out.println("file not isDirectory");
System.out.println("file.getPath()----->" + file.getPath());
File file2 = new File(file.getPath());
FileInputStream input = new FileInputStream(file2);
System.out.println("ftp.storeFile before");
ftp.enterLocalPassiveMode();
ftp.storeFile(new String(file2.getName().getBytes("UTF-8"), "iso-8859-1"), input);
System.out.println("ftp.storeFile after");
input.close();
}
}
}