更改FTP中上传文件的目录

时间:2013-03-25 08:07:24

标签: java ftp

我需要在我想要上传文件的Java程序中更改工作目录,但我无法更改工作目录。 目前我正在使用以下代码,请看看这里出了什么问题。

   import java.io.FileInputStream;
import java.io.IOException;

import org.apache.commons.net.ftp.FTPClient;

public class FileUploadDemo {
    public static void main(String[] args) {
        FTPClient client = new FTPClient();
        FileInputStream fis = null;

        try {
            client.connect("36.109.60.40");
            client.login("XYZ", "SYSTEM");

            client.enterLocalPassiveMode();
            boolean changeWorkingDirectory = client.changeWorkingDirectory("ABC\\QSRC");

            if (changeWorkingDirectory)//this is false here
            {

              String filename = "ATR.CBL";

              fis = new FileInputStream("C:\\Users\\RATSYA\\Desktop\\backup\\DINAKE\\ATR.CBL");
              boolean storeFile = client.storeFile(filename, fis);
              if(storeFile)
                 System.out.println("file stored");
              else
                 System.out.println("file can not be stored");

              client.logout();
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (fis != null) {
                    fis.close();
                }
                client.disconnect();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

2 个答案:

答案 0 :(得分:0)

尝试过“ABC / QSRC”?

从未使用它,只是一些一般性的想法:

  • ABC \ QSRC存在于用户XYZ的ftp目录中?
  • 您是否尝试过与其他客户端相同的登录和操作并且有效?
  • 也许你的意思/ ABC / QSRC

答案 1 :(得分:0)

我想我知道你如何才能做到这一点。您应该将目录存储在String中,如此:String dir = "/Server/FTP/OtherDir/";,而不是每当您想要更改目录时,都要更改该值。您可以使用String存储目录,以便通过执行以下操作来上传/下载文件:

dir ="/Server/FTP/OtherDir/";
yourFileWriter.write(dir + file);

我希望这有帮助!