2014-06-18 73 views
0

我知道有多種格式的ftp上傳(二進制ascii等...)我正在寫一個簡單的應用程序來在我的電腦和覆盆子pi之間傳輸文件,我想知道是否有是確保上傳是正確類型的一種簡單方法。另外,我一直在努力獲得一個.jar文件的上傳,但沒有成功。我相信這與前面提到的問題是一樣的。下面是代碼Apache commons java FTP上傳問題

private void uploadActionPerformed(java.awt.event.ActionEvent evt) {          
     FileInputStream in = null; 
     int returnVal = filechooser.showOpenDialog(this); 
    if (returnVal == JFileChooser.APPROVE_OPTION) { 
     File file = filechooser.getSelectedFile(); 
     try{ 
      FTPClient f = new FTPClient(); 

      f.connect("********"); 
      f.login("*******", "********"); 
      in = new FileInputStream(file.getAbsolutePath()); 
      f.storeFile("public_html/GEdropbox/" + file.getName(),in); 
      in.close(); 
      f.disconnect(); 
     }catch(IOException e){ 
      System.out.println("not working"); 
     } 
    } else { 
     System.out.println("File access cancelled by user."); 
    } 
}         
+1

當捕獲異常,表明它的堆棧跟蹤。 – MGorgon

回答

0

設置二進制傳輸模式:

f.connect("********"); 
f.login("*******", "********"); 
f.setFileType(FTP.BINARY_FILE_TYPE); 
+0

修復了jar問題,但是如何讓代碼區分類型? –

+0

您不需要,除非兩個系統都使用相同的編碼。如果您使用二進制傳輸,則文件按原樣傳遞。當用ASCII傳輸時,客戶端/服務器必須將ASCII錶轉換爲它自己的代碼頁。在這裏閱讀更多:http://www.serv-u.com/newsletter/NewsL2008-03-18.asp – MGorgon

+0

謝謝我確實需要告訴兩個系統使用相同的編碼,但我的問題已修復。也感謝鏈接到文章。我通讀了它。 –