apache commons ftp客户端文件上传问题

时间:2012-03-01 20:26:52

标签: java apache-commons-net

我的机器上本地有很少的excel文件。我想将这个excel文件上传到ftp。我使用apache commons FTPClinet。但是当它上传文件时,它被破坏并且大小为零。这是示例程序

有人能指出我在哪里做错了吗?

public class App {
    private static final String server = "localhost";
    private static final String username = "test";
    private static final String password = "test";
    private static final String directory = "/home/files";

    public static void main(String[] args) throws SocketException, IOException {
        FTPClient f = new FTPClient();
        f.connect(server);
        f.login(username, password);
        f.setFileType(FTPClient.BINARY_FILE_TYPE);
        InputStream is = null;

        is = new FileInputStream("c:\\tmp\\output.xls");
        Boolean isStored = f.storeFile("status.xls", is);
        is.close();
    }
}

1 个答案:

答案 0 :(得分:0)

请勿使用f.setFileType(FTPClient.BINARY_FILE_TYPE);删除该行。

Excel文件不是二进制文件,它们应该以ascii的形式传输,这是我认为的apache commons FTPClient的默认设置。

我没有测试过这个。试一试。

此外,更改时间从InputStream更改为FileInputStream