我的机器上本地有很少的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();
}
}
答案 0 :(得分:0)
请勿使用f.setFileType(FTPClient.BINARY_FILE_TYPE);
删除该行。
Excel文件不是二进制文件,它们应该以ascii的形式传输,这是我认为的apache commons FTPClient的默认设置。
我没有测试过这个。试一试。
此外,更改时间从InputStream
更改为FileInputStream