国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java使用FTP上傳文件并模擬接受的方法

Java使用FTP上傳文件并模擬接受的方法

2021-08-08 11:39學習使得吾快樂 Java教程

這篇文章主要介紹了Java使用FTP上傳文件并模擬接受的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

0. 導入相關依賴

  1. <!-- FTP -->
  2. <dependency>
  3. <groupId>commons-net</groupId>
  4. <artifactId>commons-net</artifactId>
  5. <version>3.6</version>
  6. </dependency>
  7. <!-- Hutool:一個小而全的Java工具類庫,具體介紹參照附錄1 -->
  8. <dependency>
  9. <groupId>cn.hutool</groupId>
  10. <artifactId>hutool-all</artifactId>
  11. <version>5.3.7</version>
  12. </dependency>
  13. <!-- lombok:通過簡單的注解的形式來幫助我們簡化消除一些必須有但顯得很臃腫的 Java 代碼的工具,需要為idea添加插件,添加方法參照附錄2 -->
  14. <dependency>
  15. <groupId>org.projectlombok</groupId>
  16. <artifactId>lombok</artifactId>
  17. <version>1.18.16</version>
  18. </dependency>

1. 文件上傳代碼

  1. @Component
  2. @Slf4j
  3. public class FTPTools {
  4.  
  5. /**
  6. * 文件上傳
  7. * @param hostname 域名地址
  8. * @param port 端口號
  9. * @param username 用戶名
  10. * @param password 密碼
  11. * @param fileInfo 待上傳的文件
  12. * @param uploadPath 待上傳到的路徑
  13. * @param saveName 預保存的文件名
  14. * @return
  15. */
  16. public static boolean upload(String hostname,int port,String username,String password,String fileInfo,String uploadPath,String saveName){
  17. boolean flag = false;
  18.  
  19. FTPClient ftpClient = null;
  20. try {
  21. ftpClient = new FTPClient();
  22. ftpClient.connect(hostname,port);
  23. //每次數據連接之前,ftp client告訴ftp server開通一個端口來傳輸數據
  24. ftpClient.enterLocalPassiveMode();
  25. //設置二進制傳輸
  26. ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
  27. ftpClient.setControlEncoding("UTF-8");
  28. if(ftpClient.login(username,password)){//若連接成功
  29. log.info("成功登錄到ftp服務端,開始文件上傳");
  30. flag = sendFile(ftpClient,fileInfo,uploadPath,saveName);
  31. }else{
  32. log.error("登錄到ftp服務端失敗,請檢查用戶名和密碼");
  33. }
  34. disconnect(ftpClient);
  35. }catch (SocketException e) {
  36. log.error("文件{}上傳失敗:{}",saveName,e.getMessage());
  37. } catch (IOException e) {
  38. log.error("文件{}上傳失敗:{}",saveName,e.getMessage());
  39. } finally {
  40.  
  41. }
  42. return flag;
  43. }
  44.  
  45. /**
  46. * 文件傳輸
  47. * @param fileInfo
  48. * @param uploadPath
  49. * @param saveName
  50. * @return
  51. */
  52. private static boolean sendFile(FTPClient ftpClient, String fileInfo, String uploadPath, String saveName) throws FileNotFoundException,IOException{
  53. boolean flag = false;
  54. try(FileInputStream fileInputStream = new FileInputStream(fileInfo)){
  55. //檢查工作目錄是否存在
  56. if(ftpClient.changeWorkingDirectory(uploadPath)){
  57. if(ftpClient.listFiles(saveName).length != 0){ //檢查文件是否已經存在
  58. boolean deleteFlag = ftpClient.deleteFile(saveName);
  59. log.info(deleteFlag?"文件已存在,直接刪除":"存在同名文件且無法刪除,請檢查權限");
  60. }
  61. flag = ftpClient.storeFile(saveName,fileInputStream);
  62. log.info(flag?"文件上傳成功!":"文件上傳失敗!");
  63. }else{
  64. log.error("找不到要上傳的目錄");
  65. }
  66. }catch (FileNotFoundException e){
  67. log.error("找不到要上傳的文件{}:{}",fileInfo,e.getMessage());
  68. throw e;
  69. }catch (IOException e){
  70. log.error("文件傳輸異常:{}",e.getMessage());
  71. throw e;
  72. }
  73. return flag;
  74. }
  75.  
  76. /**
  77. * 斷開ftp連接
  78. * @param ftpClient
  79. */
  80. private static void disconnect(FTPClient ftpClient) {
  81. if (ftpClient.isConnected()){
  82. try{
  83. ftpClient.disconnect();
  84. log.info("ftp連接已關閉,文件上傳結束");
  85. }catch (IOException e){
  86. log.error("ftp連接關閉失敗:{}",e);
  87. }
  88. }
  89. }
  90.  
  91. }

2. FTP模擬測試環境搭建

通過FileZilla安裝模擬環境:
a. 打開FileZilla的下載中心,下載服務器

Java使用FTP上傳文件并模擬接受的方法

b. 選擇合適的版本后,直接傻瓜式安裝
c. 配置相關數據

相關操作流程如下:

Java使用FTP上傳文件并模擬接受的方法

編輯—>用戶
用戶名和密碼粗略設置如下圖所示

Java使用FTP上傳文件并模擬接受的方法

通過FTP上傳到的文件位置可按個人情況進行設置,勾選相關權限

Java使用FTP上傳文件并模擬接受的方法

以上配置即可滿足測試要求,進一步的東西大家可根據需求自行研究,也歡迎留言交流!

3. 測試代碼

  1. //ftp配置信息
  2. String hostname = "127.0.0.1"; //域名地址
  3. int port = 21; //端口號
  4. String username = "lmh"; //用戶名
  5. String password = "123456"; //密碼
  6. String fileInfo = "E:\\Temporary\\1.file"; //待上傳的文件目錄
  7. String uploadPath = "/"; //待上傳到的路徑
  8. String saveName = FTP+ "_" + DateUtil.format(new Date(),"yyyyMMdd"); //預保存的文件名
  9. FTPTools.upload(hostname, port, username, password, fileInfo, uploadPath, saveName);

4. 測試效果

Java使用FTP上傳文件并模擬接受的方法

附錄1 :Hutool

Hutool是一個小而全的Java工具類庫,通過靜態方法封裝,降低相關API的學習成本,提高工作效率,使Java擁有函數式語言般的優雅,讓Java語言也可以“甜甜的”。

Hutool中的工具方法來自每個用戶的精雕細琢,它涵蓋了Java開發底層代碼中的方方面面,它既是大型項目開發中解決小問題的利器,也是小型項目中的效率擔當;

Hutool是項目中“util”包友好的替代,它節省了開發人員對項目中公用類和公用工具方法的封裝時間,使開發專注于業務,同時可以最大限度的避免封裝不完善帶來的bug。
就比如

  1. SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
  2. String date = sdf.format(new Date());

可以通過Hutool簡化為

  1. String date = DateUtil.format(new Date(),"yyyyMMdd");

類似的例子很多大家可以自己去官網看,文檔清晰明了:https://www.hutool.cn/docs/#/

附錄2:IntelliJ IDEA lombok插件的安裝和使用

到此這篇關于Java使用FTP上傳文件并模擬接受的方法的文章就介紹到這了,更多相關Java FTP上傳文件內容請搜索我們以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持我們!

原文鏈接:https://blog.csdn.net/weixin_45884459/article/details/113742777

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美成人久久久免费播放 | 黄色大片免费网址 | 欧美视频精品 | 日韩视频久久 | 夜夜操导航 | jizzjizzjizz亚洲女 | 午夜看片在线观看 | 久久综合伊人 | 午夜伦理电影 | 一级黄色毛片 | 福利在线小视频 | 欧洲亚洲精品久久久久 | 婷婷五月色综合香五月 | 亚洲国产中文字幕 | 国产精品久久久久久中文字 | 天天躁日日躁bbbbb | av网站有哪些 | 一级性视频 | 中文字幕第二十六页页 | 亚洲成av人影片在线观看 | 国产精品成人在线观看 | 日本在线视频一区二区三区 | 免费看黄色一级视频 | 亚洲午夜成激人情在线影院 | 精品成人免费一区二区在线播放 | 免费成人看片 | 国产一区二区三区免费视频 | 欧美三级网址 | 久久大陆 | 国产一区亚洲二区三区 | 亚洲精品久久一区二区三区 | 久久久久久高清 | 黄色网页免费看 | 国产精品久久久久久久福利院 | 久久99精品视频 | 男人天堂亚洲 | av片在线播放 | 国产区在线 | 国产视频久久久久久久 | 韩国精品一区 | 国产欧美成人 |