【问题标题】:Android FTP Download安卓 FTP 下载
【发布时间】:2012-05-04 03:57:43
【问题描述】:

我正在使用以下代码段将文件下载到 Android 手机的 SD 卡。在 Wireshark 跟踪中,我看到文件已传输,并且 FTP 传输完成消息也是如此。但 SD 卡中的文件大小为零。所有必需的权限都在清单文件中设置。有人可以帮忙吗?也不使用 FileOutputStream。

       try{
       ftpClient.connect(InetAddress.getByName("xxx.xxx.xxx.xxx"));        
       ftpClient.login("xxxx", "xxxxx");
       ftpClient.changeWorkingDirectory("xxxx");
       ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
       ftpClient.enterLocalPassiveMode();

       //FileOutputStream desFileStream = new FileOutputStream("/sdcard/test25.txt");
       BufferedOutputStream desFileStream = new BufferedOutputStream(new FileOutputStream("/sdcard/test25.txt"),8*1024);

         boolean status=ftpClient.retrieveFile("test.txt", desFileStream);

         if(status){
        Toast toast = Toast.makeText(getApplicationContext(), "Downlaoded", Toast.LENGTH_SHORT);
        toast.show();
         }

       //desFileStream.flush();

       ftpClient.logout();
       ftpClient.disconnect();

       }

       catch (IOException e){
        Toast toast = Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_SHORT);
        toast.show();
        }

【问题讨论】:

    标签: android apache ftp


    【解决方案1】:

    为什么 .flush() 调用被注释掉了?你试过 .flush()'ing 和 .close()'ing 吗?

    根据documentation

    刷新()

    刷新此流以确保将所有待处理数据写入 目标流。

    【讨论】:

    • flush 和 close 都会产生 IOException。
    • 05-04 14:34:46.866: W/System.err(1834): java.io.IOException: No space left on device 这有点令人惊讶。 SD 卡中大约有 7G 可用空间,目标文件只有 32 KB。让我检查更多。谢谢
    • 非常感谢,显然磁盘中充满了一些意想不到的东西。清除并且工作正常。
    【解决方案2】:

    写完后需要关闭输出流:

    BufferedOutputStream desFileStream = new BufferedOutputStream(new FileOutputStream("/sdcard/test25.txt"),8*1024);
    boolean status=ftpClient.retrieveFile("test.txt", desFileStream);
    desFileStream.close();
    

    【讨论】:

    • 我试过了,但是关闭会弹出一个IO异常。显然是在 Apache 公共代码内部。冲洗也发生了同样的情况。
    猜你喜欢
    • 2012-09-11
    • 1970-01-01
    • 2011-01-07
    • 2016-07-08
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多