[英]How to know if the file is completely uploaded in ftp?
我正在尝试使用java FTPClient和FTPFile类(commons-net.jar)从ftp服务器下载文件。如何确定使用这些类的文件是部分文件还是完整文件(即文件是否完全上传)?
可能可以使用Apache FTPClient的storeFile方法:
public boolean storeFile(String remote, InputStream local)
throws IOException
使用给定名称并从给定InputStream中获取输入,将文件存储在服务器上。 此方法不会关闭给定的InputStream。 如果当前文件类型为ASCII,则文件中的行分隔符将透明转换为NETASCII格式(即,您不应尝试创建特殊的InputStream来执行此操作)。
参数: remote-提供远程文件的名称。 local- 本地 -从其读取文件的InputStream。 返回:如果成功完成,则返回 true,否则返回 false。
请注意以下链接Apache FTPClient以获取更多信息。
您可以尝试的简单实现是这样的:
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(server, port);
ftpClient.login(user, pass);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
// APPROACH #1: uploads first file using an InputStream
File firstLocalFile = new File("D:/Test/Projects.zip");
String firstRemoteFile = "Projects.zip";
InputStream inputStream = new FileInputStream(firstLocalFile);
System.out.println("Start uploading first file");
boolean done = ftpClient.storeFile(firstRemoteFile, inputStream);
inputStream.close();
if (done) {
System.out.println("The first file is uploaded successfully.");
}
...
}
问候。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.