FTP-клиент Android - как войти на FTP-сервер. Какой FTP-сервер можно использовать? - PullRequest
0 голосов
/ 30 декабря 2011

Я работаю в Windows 7 и учусь кодировать для Android.

Мне нужно создать FTP-клиент для загрузки и загрузки файлов с бесплатных FTP-серверов.Я использую "www.drivehq.com", который является свободным пространством FTP.Мне нужно знать, могу ли я использовать этот вид свободного пространства в качестве моего FTP-сервера, или если нет, какой FTP-сервер можно использовать?

Я также написал следующий код для входа на FTP-сервер.как загрузить файл.Это не показывает никаких ошибок, но я не мог проверить с эмулятора (Android 2.2), был ли вход успешным.Файл не загружен, я отдельно проверил через веб-сайт, используя мою учетную запись на этом FTP-сервере.

Как мне продолжить?Как я могу успешно войти в систему и загрузить файл?

FTPClient con = new FTPClient();
try
{
   con.connect("http://www.ftpserver.com");
   if (con.login("user name", "password"))
   {
      con.enterLocalPassiveMode(); // important!
      String data = "test data";
      ByteArrayInputStream in = new ByteArrayInputStream(data.getBytes());
      boolean result = con.storeFile("/sdcard/abc.jpg", in);
      in.close();
      if (result) Log.v("upload result", "succeeded");
      //lblResult.setText("Login successful.");
   }
}
 catch (Exception e)
 {
      e.printStackTrace();
 }


 try
 {
      con.logout();
      con.disconnect();
 }
      catch (IOException e)
      {
        e.printStackTrace();
       }
        lblResult.setText("Login successful.");
        else {
              lblResult.setText("Login failed. Username and/or password doesn't match.");
             }
         }
       });

Я не знаю, получаю ли я какое-либо исключение.

    FTPClient con = new FTPClient();
    try
       {
           con.connect("FTPserver");
            if (con.login("username", "password"))
                         {
             lblResult.setText("Login successful.");  
             con.enterLocalPassiveMode();

я изменил

con.connect("http://www.ftpserver.com"); 

на

con.connect("ftp.ftpserver.com"); 

, когда я запускаю это, он печатает «вход успешный», это означает, что я вошел в систему,не так ли?но файл не загружается.

  String data = "test data";
  ByteArrayInputStream in = new ByteArrayInputStream(data.getBytes());
  boolean result = con.storeFile("/text.txt", in);

что это за данные теста?"con.storefile" - внутри скобок, что мне нужно заполнить?нужно ли загружать место назначения или путь к исходному файлу.

если это путь к исходному файлу, у меня есть данные в SDCard, которые я создал практически для своего эмулятора, используя перспективу DDMS iзагруженные файлы в SDCard, как я могу представить путь к этому файлу, если это место назначения, если мне нужно включить URL-адрес каталога?

1 Ответ

0 голосов
/ 02 января 2012

Вы можете проверить эту ссылку http://www.javaworld.com/javaworld/jw-04-2003/jw-0404-ftp.html.

Там написано:

URL url = new URL("ftp://user01:pass1234@ftp.foo.com/README.txt;type=i");
URLConnection urlc = url.openConnection();
InputStream is = urlc.getInputStream(); // To download
OutputStream os = urlc.getOutputStream(); // To upload
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...