Java FTP上传会创建一个空文件 [英] Java FTP upload creates an empty file

查看:56
本文介绍了Java FTP上传会创建一个空文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试使用Apache Commons FTPClient 和以下代码上传简单文本文件时:

When I try to upload a simple text file with the Apache Commons FTPClient and this code:

FTPClient ftp = new FTPClient();
int reply;

// connect
try {

    ftp.connect(serverAdd);
    ftp.login(username,password);
    reply = ftp.getReplyCode();

    if(FTPReply.isPositiveCompletion(reply)){
        System.out.println("Connected Success..");

        // upload file
        try {
            String fileDir = "testfile.txt";
            FileInputStream in = null;         
            in = new FileInputStream(fileDir);       
            ftp.storeFile(fileDir,in);
            System.out.println("File upload complete..");
        }catch(IOException e){
            System.out.println(e);
        }

        ftp.disconnect();
        System.out.println("Disconnected..");

    }else {
        System.out.println("Connection Failed..");
        ftp.disconnect();
    }    

} catch (SocketException ex) {
    ex.printStackTrace();
} catch (IOException ex) {
    ex.printStackTrace();
}

在FTP服务器的根目录中创建了一个文件,但该文件为空.怎么了?我已经尝试在上传PDF文件时将ftp模式更改为BINARY.但是文件的大小也为0.

A file gets created in the root of the FTP server but it is empty. What's wrong? I already tried to change the ftp mode to BINARY when uploading a PDF file. But the file is also 0 in size.

ftp.setFileType(FTP.BINARY_FILE_TYPE);

我也只想上传一堆txt文件,所以默认的ascii模式应该可以,对吧?

I also only want to upload a bunch of txt files, so the default ascii mode should be fine, right?

推荐答案

好的,看来这是我的防火墙的一个探查.当我停用防火墙时,文件将毫无问题地写入ftp.

ok, it seems that it is a probem with my firewall. when I deactivate the firewall the file gets written to the ftp with no problem.

这篇关于Java FTP上传会创建一个空文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆