1

以下代码在 android 上打印文件大小的长度 -1,但在桌面 JAVA 上运行良好。我使用的是安卓 2.2。

URL url1 = null;
URLConnection uconn = null;
try {
     url1 = new URL("ftp://FTPHOST/file.zip");
     uconn = url1.openConnection();
     uconn.setDoInput(true);  
     int len= uconn.getContentLength();
     int headersize = uconn.getHeaderFields().size();
     System.out.println("******************************* "+len);
     } catch (Exception e) {     
        e.printStackTrace();
     } 
return null;

让我知道在android中是否有任何解决方法来获取文件大小..

4

1 回答 1

1

Android 平台的 url 连接代码在底层使用不同的基础(Apache HTTP 客户端),而不是 Oracle JVM 的实现。Apache HTTP 客户端本身并不像桌面 JVM 那样支持 FTP 下载。

桌面 JVM 使用历史sun.net.ftp.FtpClient上为该 FTP 功能命名的类。Android 上没有可用的 sun 类,所以这不起作用。您需要获得自己的 FTP 客户端。

于 2011-05-05T21:50:10.623 回答