【问题标题】:why uploaded zip file via ftp is smaller then original file? [duplicate]为什么通过 ftp 上传的 zip 文件比原始文件小? [复制]
【发布时间】:2012-04-05 01:52:31
【问题描述】:

我的原始 zip 文件是 4KB。当我通过服务器上的 ftp 上传它时,大小较小,即 3.032KB。在我看来,zip 文件已损坏并且无法打开。为什么会发生?怎么解决?

ftp 代码

public static void uploadFilesToServer(String filename){

    File file = new File(filename);
    FTPClient client = new FTPClient();
    FileInputStream fis = null;

    try {
        client.connect("ftpsrv2.koln.de");
        client.login("user", "pass");
        client.setFileType(FTP.BINARY_FILE_TYPE);

        fis = new FileInputStream(filename);
        if(client.storeFile(file.getName(), fis)){
            System.out.println("Upload success");
        }else{
            System.out.println("Upload faild");
        }
        client.logout();
        fis.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

【问题讨论】:

  • 由于您的硬盘驱动器上的集群大小,它不是 4 k 吗?你真的检查过确切的字节大小吗?
  • 定义“已修复”--您确认文件不再有效了吗?还是您只是假设您正在查看的文件大小以字节为单位报告其实际大小?
  • 如果我把更大的 zip 文件结果是一样的。上传的文件较小,无法打开。似乎已损坏。

标签: java ftp zip ftp-client apache-commons-net


【解决方案1】:

一切都很好,4kb 是您磁盘的最小块大小。看看this

【讨论】:

  • 一切都不好,因为 zip 文件已损坏且无法打开。
  • 您的代码看起来不错,您是否尝试过使用非基于 java 的 ftp 客户端上传文件?可能是服务器故障。
  • 是的,我使用 FileZilla 并且一切正常。我用的是Win7 64bit,会不会出问题?
  • 不这么认为。您是否尝试过使用方法的重载,可以将字节大小作为第二个参数传递?
  • 哪个方法重载?
猜你喜欢
  • 2014-10-14
  • 1970-01-01
  • 2017-03-23
  • 1970-01-01
  • 2012-04-26
  • 2013-03-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多