2

私のマシンにはローカルにいくつかの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();
    }
}
4

1 に答える 1

0

f.setFileType(FTPClient.BINARY_FILE_TYPE);Remove that 行は使用しないでください。

Excelファイルはバイナリではなく、asciiとして転送する必要があります。これは、apache commons FTPClientのデフォルトだと思います。

私はこれをテストしていません。試してみる。

また、変化は からInputStreamFileInputStream

于 2012-03-01T21:41:40.670 に答える