2016-09-10 1 views
-1

カメラ撮影後にファイルサイズを取得する方法を教えてください。 私は次の結果をコードを実行します:filesizeは0です。私はCamera InputStreamが書き込みであると思います。実際のファイルサイズはどのように取得できますか? !file.exists()場合は、ファイルのあなたのサイズを与える他の部分file.lengthで確認することができます確認後case REQUEST_CODE_CAMERA:onActivityResultAndroidはカメラ撮影後ファイルサイズを取得しますか?

private void takeCamera(){ 
    file = File.createTempFile("tp_", ".jpg", dir); 
    filePathCamera = file.getAbsolutePath(); 
    Uri uri = Uri.fromFile(file); 
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); 
    startActivityForResult(intent, REQUEST_CODE_CAMERA); 
} 


protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (resultCode == RESULT_OK) { 
     switch (requestCode) { 
      case REQUEST_CODE_CAMERA: 
       final File file = new File(filePathCamera); 
       if (!file.exists()) { 
        result.append("not exists\n"); 
        return; 
       } 
       InputStream inputStream = null; 
       try { 
        inputStream = new FileInputStream(filePathCamera); 
        long size = inputStream.available(); 
        result.append("size1:" + size + "\n"); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } finally { 
        try { 
         if (inputStream != null) { 
          inputStream.close(); 
         } 
        } catch (IOException ioe) { 
         ioe.printStackTrace(); 
         // ignore 
        } 
       } 
       break; 
     } 
    } 

} 

答えて

0

+0

私は 'available()'と 'length()'を試しましたが、動作しません。 – gccdchen

+0

file.length()は動作するはずです –

+0

'file.length()'は動作しません。 – gccdchen

関連する問題