2017-06-07 1 views
0

サーバー「www.server.com」にファイルをアップロードしました。今、私は、同じサーバー上のファイルのパスをjavaコードで知りたいと思っています。具体的な方法やプロセスはありますか?私はこれに新しいです。Javaコードを使用してサーバー上のファイルのパスを取得する方法は?

public class Test { 
    public static void main(String[] args) { 
     test test = new test(); 
     String server ="www.server.com"; 
     int port = 21; 
     String username = "abc"; 
     String password = "abc`enter code here`"; 

     FTPClient ftpclient = new FTPClient(); 


     try { 
      ftpclient.connect(server, port); 
      ftpclient.login(username, password); 
      ftpclient.enterLocalPassiveMode(); 
      ftpclient.setFileType(FTP.BINARY_FILE_TYPE); 

      File firstLocalFile = new File("D:\\ADF\\Tax Files\\TERData.zip"); 

      String firstRemoteFile = "TERData.zip"; 

      InputStream inputstream = new FileInputStream(firstLocalFile); 
      System.out.println("Start Uploading the First File"); 

      System.out.println(" File Path ":+firstLocalFile.getAbsolutePath()); 

      boolean done = ftpclient.storeFile(firstRemoteFile, inputstream); 

      if(done){ 
       System.out.println(" File successfully uploaded "); 
      }        
     } catch (IOException e) { 
      // TODO: Add catch code 
      System.out.println("Error: " + e.getMessage()); 
      e.printStackTrace(); 
     } 

    } 
} 
+0

あなたは 'ftpclient.printWorkingDirectory()を印刷してみてくださいすることができ;' – harshavmb

+0

私はそれが私のディレクトリを印刷したことを使用してみましたが、実際、それは私が必要とするディレクトリではありません。 – DPJ

+0

印刷されているディレクトリはどれですか? – harshavmb

答えて

0
FTPClient ftpClient = new FTPClient(); 
      try { 

       ftpClient.connect(server, port); 
       ftpClient.login(user, pass); 
       ftpClient.enterLocalPassiveMode(); 
       ftpClient.setFileType(FTP.BINARY_FILE_TYPE); 

       FTPFile[] files1 = ftpClient.listFiles("/test");//"/test/test.txt"; 
String remoteFile1 =files1[0].getName(); 
       File downloadFile1 = new File("D:/Downloads/test.mp4"); 
       OutputStream outputStream1 = new BufferedOutputStream(new FileOutputStream(downloadFile1)); 
       boolean success = ftpClient.retrieveFile(remoteFile1, outputStream1); 
       outputStream1.close(); 

       if (success) { 
        System.out.println("File #1 has been downloaded successfully."); 
       } 
+0

私は、サーバー上のアップロードされたファイルのパスを取得するremoteFile1を印刷することによって? – DPJ

+0

これは例ではありません。 ftpclientがファイルオブジェクトを返すので、パスも取得できます.please ftpfileオブジェクトを参照してください。私のansを更新します –

+0

ありがとう – DPJ

関連する問題