繁体   English   中英

如何知道文件是否完全以ftp上传?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM