Подтвердить что ты не робот

Получите размер файлового ресурса 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. Что я делаю неправильно?

4b9b3361

Ответ 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()