java ftp操作
程序员文章站
2022-04-10 12:02:55
...
简单的写了个java对ftp的操作
用的是commons-net.jar包
FTPProxy.java
FTPBean.java
用的是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. }
上一篇: js对象之间的赋值相互影响解决
下一篇: Python第一天,基本的输入输出