Java:将文件上载到FTP服务器

Java:将文件上载到FTP服务器,java,ftp,Java,Ftp,我正在尝试将文件上载到FTP服务器 正如我在这里发现的,我有以下代码: FTPClient client = new FTPClient(); FileInputStream fis = null; try { client.connect("IP"); client.login("user", "pwd"); client.changeWorkingDirectory("/a/b/c/"); // Create an InputStream of the f

我正在尝试将文件上载到FTP服务器

正如我在这里发现的,我有以下代码:

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

try {
    client.connect("IP");
    client.login("user", "pwd");
    client.changeWorkingDirectory("/a/b/c/");

    // Create an InputStream of the file to be uploaded
    String filePath = file.getPath();
    fis = new FileInputStream(filePath);
    String fileName = file.getName();                               

    // Store file to server
    client.storeFile(fileName, fis);
    client.logout();

} catch (Exception e) {
    e.printStackTrace();
} finally {
    try {
    if (fis != null) {
        fis.close();
    }
    client.disconnect();
    } catch (Exception e) {
    e.printStackTrace();
    }
}
当我运行它时,会在预期的位置创建该文件,但它是空的(0 kb)

写作过程也需要相当多的时间

我做错了什么?

看看这篇文章
您需要设置文件类型和tranfor模式以使其正常工作。

查找这段代码是否正确:String filePath=file.getPath();fis=新文件输入流(文件路径);如何创建文件对象?它可能很慢,因为您的internet连接很慢或ftp服务器很慢。。。可能有错误/异常?您可以使用独立的FTP客户端将相同的文件上载到相同的服务器和目录吗?我添加了System.out.println(file.length());我试图传输的文件不是空的(991b)。这是一个简单的.txt文件。没有错误或例外。我可以使用FileZilla witohout问题将文件移动到该位置,正如我在这里发现的那样java FTP上载创建空文件(JK Patel的答案),添加client.enterLocalPassiveMode();解决了我的问题是什么让您认为错误的传输模式会导致上载的文件为空?我添加了文件类型(二进制文件类型)和传输模式(流传输模式),但问题仍然存在