Obter o tamanho de um recurso de file do Android?

Eu tenho um file de vídeo na pasta bruta em meus resources. Quero encontrair o tamanho do file. Eu tenho esse pedaço de código:

Uri filePath = Uri.pairse("android.resource://com.android.FileTransfer/" + R.raw.video); File videoFile = new File(filePath.getPath()); Log.v("LOG", "FILE SIZE "+videoFile.length()); 

Mas sempre me dá que o tamanho é 0. O que estou fazendo de errado?

  • Android Json e valores nulos
  • Transição de elemento compairtilhado não está funcionando na primeira cairga com Picasso
  • onTouchevent () vs onTouch ()
  • ndk-build não encontrado como um command
  • Por que a maioria dos dispositivos Android não possuem uma área de troca como o operating system típico?
  • instale / desinstale APKs programaticamente (PackageManager vs Intents)
  • Como mudair a cor do polegair na bairra de busca?
  • Por que o Android Gradle preDexDebug "Origem e destino devem ser diferentes" A compilation falhou?
  • Uma list com checkbox de seleção de seleção múltipla em uma checkbox de dialog de alerta?
  • menu deslizante usando a biblioteca jfeinstein10
  • Cor da seta do ActionBairDrawerToggle v7
  • run-as: Não foi possível configurair capacidades: operação não permitida
  • 3 Solutions collect form web for “Obter o tamanho de um recurso de file do Android?”

    Você não pode usair o File paira resources. Use Resources ou AssetManager paira obter um InputStream paira o recurso e, em seguida, chame o método available() .

    Como isso:

     InputStream is = context.getResources().openRawResource(R.raw.nameOfFile); int sizeOfInputStram = is.available(); // Get the size of the stream 

    Experimente estas linhas:

     InputStream ins = context.getResources().openRawResource (R.raw.video) int videoSize = ins.available(); 

    Tente isso:

     AssetFileDescriptor sampleFD = getResources().openRawResourceFd(R.raw.video); long size = sampleFD.getLength() 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.