2013-04-03 73 views
0

我正在嘗試從android的ftp客戶端使用drivehq ftp服務器獲取目錄列表時出現連接拒絕異常。請幫助我解決我的問題。我爲此目的的代碼在下面給出,同時我正在測試真實設備samsang galaxy mobile。是的,我已經添加了這些權限無法獲得互聯網ftp服務器目錄在android ftp客戶端使用apache公共庫中列出

<uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> 
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"/> 
    public void login(String host,String username,String password,int port) 
     { 
      try 
      { 
       ftpClient.connect(host); 
       ftpClient.login(username, password); 
       ftpClient.changeWorkingDirectory("/MyData"); 
       ftpClient.setFileType(FTP.BINARY_FILE_TYPE); 
       ftpClient.enterLocalPassiveMode(); 
      } catch (SocketException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 

    public ArrayList<File> getDirectoryListing() 
    {  
      ArrayList<File> list=new ArrayList<File>(); 
      FTPFile[] files = null; 

      try 
      { 
       Log.d(ftpClient.printWorkingDirectory(), "is working directory"); 
       files=ftpClient.listFiles(); 
       for(FTPFile f:files) 
       { 
        String s=f.getName(); 
        Log.d(s, "is file"); 
        File fs=new File(s); 
        list.add(fs); 
       } 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      return list; 
     } 
+0

它是如何被調用的? – Dave

+0

這是什麼ftpClient對象? –

回答

1

我已經使用ftp-4j庫我的文件上傳到服務器。您可以爲您的項目使用類似的概念。這裏是鏈接:SampleDemo

謝謝。

相關問題