我只是設法使用 apache ftp 將一些檔案上傳到 ftp 服務器。當我按原樣使用一切時,它作業正常,我的意思是,檔案上傳作業正常,但是當我使用例如 ftp 帳戶的錯誤密碼時,顯然檔案不會上傳到服務器,但是我也沒有收到錯誤訊息。換句話說:我不知道如何顯示錯誤。我試圖用敬酒來顯示例外中的 e.getMessage() ,但沒有顯示任何內容。有什么檔案可以幫助我嗎?還是我錯過了您可以幫助我的東西?謝謝你!
這是我的代碼:
private class eXport extends AsyncTask<Void,Void,Void>{
@Override
protected void onPreExecute() {
super.onPreExecute();
btn.setEnabled(false);
btnD.setEnabled(false);
btnS.setEnabled(false);
btnD.setBackgroundColor(getResources().getColor(R.color.gr));
btnS.setBackgroundColor(getResources().getColor(R.color.gr));
pbSum=100/adapter.getSelected().size();
pbPorc=0;
pb1.setProgress(5);
pb2.setProgress(5);
blurry.setVisibility(View.VISIBLE);
pb1.setVisibility(View.VISIBLE);
pb2.setVisibility(View.VISIBLE);
bloq=true;
}
@Override
protected Void doInBackground(Void... voids) {
FTPClient ftpClient=new FTPClient();
try {
ftpClient.connect(fserver);
ftpClient.login(fusername,fpassword);
ftpClient.enterLocalPassiveMode();
dirArch = new ArrayList<>();
for (int k=0;k<adapter.getSelected().size();k ){
dirArch.add(adapter.getSelected().get(k).getArch());
}
for (String archTXT : dirArch){
File fileX =new File(stringFolder,archTXT);
InputStream inputStream=new FileInputStream(fileX);
ftpClient.storeFile(archTXT,inputStream);
inputStream.close();
pbPorc=pbPorc pbSum;
pb1.setProgress(pbPorc);
pb2.setProgress(pbPorc);
}
ftpClient.logout();
ftpClient.disconnect();
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(ExportTracks.this,e.getMessage(),Toast.LENGTH_LONG).show();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid){
super.onPostExecute(aVoid);
btn.setEnabled(true);
btnD.setEnabled(true);
btnS.setEnabled(true);
btnD.setBackgroundColor(getResources().getColor(R.color.ro));
btnS.setBackgroundColor(getResources().getColor(R.color.gr));
blurry.setVisibility(View.INVISIBLE);
pb1.setVisibility(View.INVISIBLE);
pb2.setVisibility(View.INVISIBLE);
bloq=false;
//Toast.makeText(ExportTracks.this,getResources().getString(R.string.dexp),Toast.LENGTH_SHORT).show();
}
uj5u.com熱心網友回復:
您的錯誤處理是錯誤的。
當憑據錯誤時,FTPClient.login不會引發例外。它回傳一個false. 您不為此進行測驗。您的代碼繼續,嘗試使用未經授權的會話,所有這些顯然也會失敗。
但是對于 也是如此FTPClient.storeFile,它也只是回傳false,您的代碼基本上不會注意到任何錯誤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/466151.html
上一篇:F#:如何在型別中定義計算屬性?
