java ftp操作

简单的写了个java对ftp的操作

用的是commons-net.jar包

FTPProxy.java

public class FTPProxy{
public FTPProxy()
{
super();
ftpClient = new FTPClient();
}

public FTPProxy(FTPBean entity)
{
this();
this.entity = entity;
}

private FTPBean entity;

private FTPClient ftpClient;

public void connection()
{
try
{
ftpClient.connect(entity.getServerIP());
ftpClient.login(entity.getUser(), entity.getPassword());
} catch (SocketException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}

public void download()
{
FileOutputStream fos = null;

try
{
String remoteFile = entity.getSrcFile();
String remoteFileName = "";
if (0 == remoteFile.lastIndexOf("/"))
{
remoteFileName = remoteFile.substring(remoteFile
.lastIndexOf("/") + 1);
} else if (0 < remoteFile.lastIndexOf("/"))
{
remoteFileName = remoteFile.substring(remoteFile
.lastIndexOf("/") + 1);
String path = remoteFile.substring(0, remoteFile
.lastIndexOf("/"));
ftpClient.changeWorkingDirectory(path);
} else
{
remoteFileName = remoteFile;
}

fos = new FileOutputStream(entity.getTargetFile());

ftpClient.setBufferSize(1024 * 8);

ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.retrieveFile(remoteFileName, fos);
} catch (IOException e)
{
e.printStackTrace();
} finally
{
try
{
fos.close();
ftpClient.disconnect();
} catch (IOException e)
{
e.printStackTrace();
}
}
}

public void upload()
{
FileInputStream fis = null;

try
{
File srcFile = new File(entity.getSrcFile());
fis = new FileInputStream(srcFile);

ftpClient.setBufferSize(1024 * 8);
ftpClient.setControlEncoding("GBK");

String ftpPath = entity.getFtpPath();

if(null!=ftpPath&&!"".equals(ftpPath))
{
ftpClient.makeDirectory(ftpPath);
ftpClient.changeWorkingDirectory(ftpPath);
}

ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.storeFile(entity.getTargetFile(), fis);

} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
} finally
{
try
{
fis.close();
ftpClient.disconnect();
} catch (IOException e)
{
e.printStackTrace();
}
}
}

public void setEntity(FTPBean entity)
{
this.entity = entity;
}

public static void main(String[] args)
{
FTPBean ftpBean = new FTPBean();
ftpBean.setUser("admin");
ftpBean.setPassword("admin");
ftpBean.setServerIP("192.168.211.204");
ftpBean.setSrcFile("D:\\loadingPackageList.jsp");
ftpBean.setTargetFile("loadingPackageList.jsp");
ftpBean.setFtpPath("/admin_Test");

FTPProxy f = new FTPProxy(ftpBean);
f.connection();
f.upload();
}
}


FTPBean.java


1. public class FTPBean
2. {
3. private String serverIP;
4.
5. private String user;
6.
7. private String password;
8.
9. private String srcFile;
10.
11. private String targetFile;
12.
13. private String ftpPath;
14.
15. public String getServerIP()
16. {
17. return serverIP;
18. }
19.
20. public void setServerIP(String serverIP)
21. {
22. this.serverIP = serverIP;
23. }
24.
25. public String getUser()
26. {
27. return user;
28. }
29.
30. public void setUser(String user)
31. {
32. this.user = user;
33. }
34.
35. public String getPassword()
36. {
37. return password;
38. }
39.
40. public void setPassword(String password)
41. {
42. this.password = password;
43. }
44.
45. public String getSrcFile()
46. {
47. return srcFile;
48. }
49.
50. public void setSrcFile(String srcFile)
51. {
52. this.srcFile = srcFile;
53. }
54.
55. public String getTargetFile()
56. {
57. return targetFile;
58. }
59.
60. public void setTargetFile(String targetFile)
61. {
62. this.targetFile = targetFile;
63. }
64.
65. public String getFtpPath()
66. {
67. return ftpPath;
68. }
69.
70. public void setFtpPath(String ftpPath)
71. {
72. this.ftpPath = ftpPath;
73. }
74. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值