java FTP上传问题

时间:2011-05-17 19:15:29

标签: java xml upload ftp network-programming

public static void main(String[] args) throws SocketException, IOException{
        FTPClient client = new FTPClient();
        FileInputStream fis = null;

        client.connect("ftp.someserver.co.uk",21);
        boolean login = client.login("webmaster@someserver.co.uk",
                "mypassword");


        String filename = "C:/Users/NAVEEN~1/AppData/Local/Temp/engine_3018683681918436492.xml";
        fis = new FileInputStream(new File(filename));
        if(client.storeFile("myfile.xml", fis)){
            System.out.println("yes");
        }else{
            System.out.println("no");

        }
        client.logout();
        fis.close();
    }

此代码正在按我的意愿上传文件,但不上传其中的所有内容。有些文件内容不存在!

编辑-1

好了,我现在创建了一个静态文件并尝试上传它,但它再次出现了相同的情况。

2 个答案:

答案 0 :(得分:2)

不确定您尝试上传的文件是如何生成的。但看起来它是一个临时文件。你确定它在从java读取时没有被删除/覆盖吗?为什么不在桌面上保留静态文件并尝试将其上传以供试用。

答案 1 :(得分:2)

我认为您可能需要completePendingCommand。根据那里的示例,您可以通过获取输出流并自己处理字节副本来自己“推送”数据。

http://commons.apache.org/net/apidocs/org/apache/commons/net/ftp/FTPClient.html#completePendingCommand()