FTP a file to server, but it the result arrives with zero byte size(将文件 FTP 到服务器,但结果以零字节大小到达)
问题描述
我正在尝试使用 FTPClient 将文件上传到数据库服务器.显示文件传输成功,但文件为空(大小为0字节).
I am tring to upload a file to a database server using FTPClient. It shows the file is transfered succesfully, but the file is empty (size 0 bytes).
以下是我用来构建的源代码.谁能解决这个问题?
Below is the source code that I have used to build. Can anyone resolve this issue?
package Examples;
import org.apache.commons.net.ftp.*;
import java.io.FileInputStream;
import java.io.IOException;
public class Main {
    public static void main(String[] args) {
        FTPClient client = new FTPClient();
        FileInputStream fis = null;
        try {
            client.connect("server");
            client.login("userid", "password");
            System.out.print("Message : " + client.getReplyString());
            client.changeWorkingDirectory("/loaddata");
            System.out.println("Working Directory" + client.printWorkingDirectory());
            client.setDefaultPort(22);
            int f1 = client.getDefaultPort();
            boolean f2 = client.setFileType(FTPClient.BINARY_FILE_TYPE);
            System.out.println("File transfer port no  " + f1);
            System.out.println("FTP server reply ." + client.getReplyString());
            String localfile = "c:/Touch.txt";
            fis = new FileInputStream(localfile);
            int lastSlash = localfile.lastIndexOf('/');
            String filename = localfile.substring(lastSlash+1);
            System.out.println("file : "+fis);
            client.setFileTransferMode(2);
            System.out.println("Flag reply ." + client.getReplyString());
            boolean flag = client.storeFile(filename,fis);
            System.out.println("Flag reply ." + client.getReplyString());
            if (flag) {
                System.out.println("Successfully uploaded the file");
            } else {
                System.out.println("Not able to upload the file");
            }
            fis.close();
            client.logout();
            System.out.println("Logout ." + client.getReplyString());
        } catch (Exception e) {
            System.out.println("Exception " + e);
        } finally {
            if (client.isConnected()) {
                try {
                    client.disconnect();
                    System.out.println("Server Disconnected." + client.getReplyString());
                } catch (IOException ioe) {
                    // do nothing
                }
            }
        }
    }
}
推荐答案
我删除了client.changeWorkingDirectory("/loaddata");否则保持原样并获得成功.线路会不会有问题?比我再次使用 commons 3.1
I removed the client.changeWorkingDirectory("/loaddata"); otherwise left it all intact and got success. Could the line be a problem? Than again I used commons 3.1
这篇关于将文件 FTP 到服务器,但结果以零字节大小到达的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:将文件 FTP 到服务器,但结果以零字节大小到达
 
				
         
 
            
        基础教程推荐
- 在 Java 中创建日期的正确方法是什么? 2022-01-01
- 验证是否调用了所有 getter 方法 2022-01-01
- 如何在 Spring @Value 注解中正确指定默认值? 2022-01-01
- 大摇大摆的枚举 2022-01-01
- 从 python 访问 JVM 2022-01-01
- Java 实例变量在两个语句中声明和初始化 2022-01-01
- 如何在 JFrame 中覆盖 windowsClosing 事件 2022-01-01
- 多个组件的复杂布局 2022-01-01
- Java Swing计时器未清除 2022-01-01
- 不推荐使用 Api 注释的描述 2022-01-01
 
    	 
    	 
    	 
    	 
    	 
    	 
    	 
    	 
						 
						 
						 
						 
						 
				 
				 
				 
				