[英]I want to get the size of file i select in MBs from internal storage of my phone. but file.length() always returns 0
我可以從手機的內部存儲器中選擇一個pdf類型的文件。 我想以MB為單位獲取文件大小,並根據文件大小對文件選擇進行限制。 但是,盡管已成功選擇了文件,但以下代碼始終返回0。
String uriString = PostFileUri.toString();
File myFile = new File(uriString);
// Get length of file in bytes
long fileSizeInBytes = myFile.length();
// Convert the bytes to Kilobytes (1 KB = 1024 Bytes)
long fileSizeInKB = fileSizeInBytes / 1024;
// Convert the KB to MegaBytes (1 MB = 1024 KBytes)
long fileSizeInMB = fileSizeInKB / 1024;
Log.i("FileSize", String.valueOf(fileSizeInMB));
可能是0 ,因為您沒有現有文件。 嘗試這個
File rootStorage = Environment.getExternalStorageDirectory();
File myFile = new File(rootStorage.toString() + "/download/q1.jpeg");//or whatever
long fileSizeInBytes = myFile.length();
// Convert the bytes to Kilobytes (1 KB = 1024 Bytes)
long fileSizeInKB = fileSizeInBytes / 1024;
// Convert the KB to MegaBytes (1 MB = 1024 KBytes)
long fileSizeInMB = fileSizeInKB / 1024;
Log.i("FileSize",String.valueOf(fileSizeInMB));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.