我可以使用 android 下载管理器很好地从服务器下载文件并将其保存在 sdcard 中。
现在我需要获取服务器中文件的大小以与 sdcard 上下载的文件进行比较。我能够获得下载文件的大小,现在我需要帮助来创建一种方法来返回服务器中文件的大小,我已经尝试过这个但不起作用..
public int getFileSizeAtURL(URL url)
{
int filesize = -1;
try
{
URL urls = new URL(file_url);
HttpURLConnection http = (HttpURLConnection)urls.openConnection();
http.connect();
filesize = http.getContentLength();
http.disconnect();
}
catch(Exception e)
{
}
return filesize;
}
通过使用
Toast.makeText(getApplicationContext(),getFileSizeAtURL(urls)+" kb", Toast.LENGTH_LONG).show();
它给了我初始化值..-1kb 我怎样才能使用这个方法,以便它返回文件大小
Solved it !!!!
我通过将此代码放在主要方法上解决了我的问题
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy =
new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
URL urls = new URL(file_url);
HttpURLConnection http = (HttpURLConnection)urls.openConnection();
http.connect();
int filesize = http.getContentLength();
http.disconnect();
它给了我服务器中文件的文件大小,现在我可以与 sdcard 上的文件进行比较
File file=Environment.getExternalStorageDirectory();
String filename = file.getPath() + "/test/testing";
File myfile = new File(filename);
long size = myfile.length()
享受伙计们!!!!