2013-07-07 3 views
0

Итак, я загружаю файл на свой VPS (Linux Centos 5 64 bit) через FTP с помощью Java. Код, я использую, чтобы загрузить на мой VPS являетсяИзменение местоположения загрузки ftp

FTPClient client = new FTPClient(); 
    FileInputStream fis = null; 

    try { 
     client.connect(serverip); 
     client.login("user, pass); 
     client.setFileType(FTPClient.BINARY_FILE_TYPE); 

// Create an InputStream of the file to be uploaded 
     String filename = Shared.saveLocation + Shared.saveAs; 
     fis = new FileInputStream(filename); 

// Store file to server 
     client.storeFile(Shared.saveAs, fis); 
     client.logout(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } finally { 
     try { 
      if (fis != null) { 
       fis.close(); 
      } 
      client.disconnect(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

Теперь код работает, но то, что я хочу, чтобы изменить место на VPS он загружает файл. Сейчас это

ServerIP/ЗДЕСЬ

У меня есть некоторые файлы, так хочется, чтобы изменить его

ServerIP/файл/ЗДЕСЬ

Как я могу идти о делать это?

+0

Никто не знает, как это сделать? – user2526311

ответ

2

Вы можете использовать метод changeCurrentWorkingDirectory(), чтобы перейти в нужный каталог. После того, как вы там, вы можете написать файл, используя storeFile, как и раньше.

changeCurrentWorkingDirectory возвращает true, если изменение каталога было успешным, иначе оно возвращает значение false. Он принимает строку, которая интерпретируется как путь к каталогу. Если путь начинается с косой черты, он интерпретируется как абсолютный путь, начинающийся с каталога ftproot. В противном случае это интерпретируется как относительный путь.

Пересмотренный код может выглядеть примерно так:

FTPClient client = new FTPClient(); 
FileInputStream fis = null; 

try 
{ 
    client.connect(serverip); 
    client.login("user, pass); 
    client.setFileType(FTPClient.BINARY_FILE_TYPE); 

    // change directory to serverip/file/ 
    if (client.changeWorkingDirectory("/file")) 
    {  
     // Create an InputStream of the file to be uploaded 
     String filename = Shared.saveLocation + Shared.saveAs; 
     fis = new FileInputStream(filename); 

     // Store file to server 
     client.storeFile(Shared.saveAs, fis); 
    } 
    client.logout(); 
} 
catch (IOException e) 
{ 
    e.printStackTrace(); 
} 
finally 
{ 
    try 
    { 
     if (fis != null) 
     { 
      fis.close(); 
     } 
     client.disconnect(); 
    } 
    catch (IOException e) 
    { 
     e.printStackTrace(); 
    } 
} 
+0

Работал как очарование, спасибо. Я награжу вас щедростью через 19 часов, потому что это позволит мне. – user2526311

Смежные вопросы