Java FTP文件已成功传输,但不正确
以下是我的简单代码:Java FTP文件已成功传输,但不正确,java,ftp,Java,Ftp,以下是我的简单代码: public boolean sendCSV() throws IOException { System.out.println("Translating from xls to csv..."); File xls = new File("file.xls"); File csvFile; csvFile = CSVManager.xlsToCsv(xls); csvFile.renameTo(new File("file.csv
public boolean sendCSV() throws IOException {
System.out.println("Translating from xls to csv...");
File xls = new File("file.xls");
File csvFile;
csvFile = CSVManager.xlsToCsv(xls);
csvFile.renameTo(new File("file.csv"));
FTPClient client = new FTPClient();
FileInputStream fis = null;
try {
System.out.println("Establishing connection...");
client.connect(ftpHost, ftpPort);
System.out.print(client.getReplyString());
System.out.println("Connection ok.");
if (client.login(ftpUser, ftpPass)) {
System.out.println("Login ok");
System.out.print(client.getReplyString());
System.out.println("Setting PASV");
client.enterLocalPassiveMode();
System.out.print(client.getReplyString());
if (client.changeWorkingDirectory("/MYDIR")) {
System.out.println("Dir changed");
System.out.print(client.getReplyString());
} else {
System.out.println("Error changing dir");
System.out.print(client.getReplyString());
}
String filename = csvFile.getName();
TrayIconManager.SwitchTrayToFull();
fis = new FileInputStream(filename);
if (client.storeFile(filename, fis)) {
System.out.println("File sent");
System.out.print(client.getReplyString());
} else {
System.out.println("Error during sending file");
System.out.print(client.getReplyString());
}
}
if (client.logout()) {
System.out.println("Logout ok");
System.out.print(client.getReplyString());
return true;
} else {
System.out.println("Logout problem");
System.out.print(client.getReplyString());
return false;
}
} catch (IOException e) {
e.printStackTrace();
return false;
} finally {
try {
if (fis != null) {
fis.close();
}
client.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
有什么问题?结果表明
文件发送
使用了226-29KB(0%)-授权:512000KB
226文件已成功传输
2260.343秒(此处测量),每秒30.59千字节
但这不是真的,因为一旦我检查ftp服务器上的文件不存在!
为什么使用的KB是0%?也许这就是错误?
代码似乎正常,输出也正常。
那么真正的问题是什么呢?您可以使用常规FTP客户端上传文件吗?如果可以,给我们看一个日志文件。您使用的是什么
FTPClient
?apachecommons?再次向我们显示一个日志。消息“使用了29KB”似乎来自FTP服务器。这是特定FTP服务器的一些自定义报告。不知道那是什么意思。但我猜它显示了磁盘使用情况(使用了磁盘配额的0%)。所以这并不意味着有任何问题。你能用普通的FTP客户端上传文件吗?如果可以,给我们看一个日志文件。您使用的是什么FTPClient
?apachecommons?再次向我们显示一个日志。消息“使用了29KB”似乎来自FTP服务器。这是特定FTP服务器的一些自定义报告。不知道那是什么意思。但我猜它显示了磁盘使用情况(使用了磁盘配额的0%)。因此,这并不表示存在任何问题。