Получите размер файлового ресурса Android?
У меня есть видеофайл в исходной папке в моих ресурсах. Я хочу найти размер файла.
У меня есть эта часть кода:
Uri filePath = Uri.parse("android.resource://com.android.FileTransfer/" + R.raw.video);
File videoFile = new File(filePath.getPath());
Log.v("LOG", "FILE SIZE "+videoFile.length());
Но это всегда дает мне, что размер равен 0. Что я делаю неправильно?
Ответы
Ответ 1
Вы не можете использовать File
для ресурсов. Используйте Resources
или AssetManager
, чтобы получить InputStream
к ресурсу, затем вызовите метод available()
на нем.
Вот так:
InputStream is = context.getResources().openRawResource(R.raw.nameOfFile);
int sizeOfInputStram = is.available(); // Get the size of the stream
Ответ 2
Попробуйте следующие строки:
InputStream ins = context.getResources().openRawResource (R.raw.video)
int videoSize = ins.available();
Ответ 3
Попробуйте следующее:
AssetFileDescriptor sampleFD = getResources().openRawResourceFd(R.raw.video);
long size = sampleFD.getLength()