J2SE - Commons-net包Ftp下載的檔案不能開啟
一、問題
部署在 Linux 上的應用服務,需要通過 Ftp 從中轉機上下載 Zip 檔案解壓並處理,而中轉機上的檔案是通過 shell 指令碼定時從三方的 Ftp 上下載的
有一天發現應用服務從中轉機下載的一個 Zip 檔案無法解壓,而在中轉機上的這個 Zip 檔案是可以解壓的
對比後發現應用服務下載後的檔案比中轉機上的少了一個位元組,而通過檔案比較工具對比兩個檔案的十六進位制,發現中轉機上的檔案中有一處是 "0D 0A" 即 "\r\n",應用服務下載後的檔案中卻是 "0A" 即 "\n"
這意味著FtpClient在獲取檔案的傳輸過程中對換行符做了轉換
二、方案
緊急處理方案是:對中轉機上的問題檔案先解壓,然後做了 dos2unix 處理,最後再壓縮回去
dos2unix fileName
優化處理方案是:設定 FtpClient 的檔案傳輸型別,從預設的ASCII改為二進位制
ftpclient.setFileType(FTPClient.BINARY_FILE_TYPE);
相關文章
- windows下ftp定時執行批次下載檔案,windows下ftp定時執行批次下載檔案的一種方法WindowsFTP
- 配置crontab+ftp自動下載檔案FTP
- iis實現點選檔案下載而不是開啟檔案
- 伺服器上下載檔案FTP伺服器FTP
- 便捷的檔案啟動器:Butler 啟用下載
- [原始碼和文件分享]基於WinInet的FTP檔案下載實現原始碼FTP
- autocad2012win10不能拖檔案開啟怎麼解決_autocad2012win10不能拖檔案開啟的修復方法Win10
- 如何在命令列中使用 ftp 命令上傳和下載檔案命令列FTP
- iOS匯入其他APP下載的檔案(用其他應用開啟)iOSAPP
- windows下如何開啟.ipynb檔案Windows
- ftp下載工具,ftp下載工具哪個好用,如何使用?FTP
- 檔案下載
- 免費的FTP工具,免費的FTP工具下載!FTP
- Centos7下搭建FTP檔案伺服器CentOSFTP伺服器
- DBF檔案怎麼開啟?DBF檔案的開啟方法教程
- 00、下載檔案
- Ajax 下載檔案
- js 檔案下載JS
- HttpClient 下載檔案HTTPclient
- JAVA檔案下載Java
- Response下載檔案
- FastApi下載檔案ASTAPI
- 檔案開啟的格式
- 檔案程式設計、檔案下載程式設計
- 常見的ftp檔案傳輸工具有哪些?推薦ftp檔案傳輸工具FTP
- win7系統下怎麼開啟PHP檔案 win7開啟PHP檔案的步驟Win7PHP
- 簡單好用的ftp檔案傳輸工具:Viper FTP for MacFTPMac
- PHP ftp上傳檔案PHPFTP
- FTP檔案共享服務FTP
- ftp上傳工具下載,ftp上傳工具下載使用教程,Linux如何配置ftp伺服器?FTPLinux伺服器
- vue3 點選下載檔案,不開啟預覽,已解決Vue
- 15種下載檔案的方法
- 檔案的上傳與下載
- 下載檔案的15種方法
- ADNI的fMRI檔案下載教程
- ftp下載速度慢,ftp下載速度慢的原因詳情,和解決辦法FTP
- SpringMVC檔案上傳下載(單檔案、多檔案)SpringMVC
- windows10系統下開啟jnt檔案的方法Windows