以下代码在android上为filesize打印长度为-1,但它在桌面JAVA上运行正常。 我正在使用Android 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中获取文件大小的任何解决方法..
答案 0 :(得分:1)
Android平台的url连接代码使用不同的基础(Apache HTTP客户端),而不是Oracle JVM的实现。 Apache HTTP客户端本身不像桌面JVM那样支持FTP下载。
桌面JVM使用历史上名为sun.net.ftp.FtpClient
的类来实现该FTP功能。 Android上没有太阳类可用,所以这不起作用。您需要拥有自己的FTP客户端。