-1

我需要更改要上传文件的 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();
            }
        }
    }
}
4

2 回答 2

0

我想我知道你怎么能做到这一点。您可能应该将您的目录存储在String这样的位置:String dir = "/Server/FTP/OtherDir/";并且每当您想要更改目录时,您都会更改该值。String当您想通过执行以下操作上传/下载文件时,您可以使用存储目录:

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

我希望这有帮助!

于 2014-01-19T01:41:13.390 回答
0

试过“ABC/QSRC”吗?

从未使用过,但有一些一般性的想法:

  • ABC\QSRC 是否存在于用户 XYZ 的 ftp 目录中?
  • 您是否尝试与其他客户端相同的登录和操作并且它有效?
  • 也许你的意思是/ABC/QSRC
于 2013-03-25T08:39:19.403 回答