2017-04-04 10 views
0

そのようなファイルやディレクトリのパスから

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
         intent.setType("file/*"); 
         intent.setType("image/*"); 
         intent.setType("video/*"); 
         // intent.addCategory(Intent.CATEGORY_OPENABLE); 
         startActivityForResult(intent, READ_REQUEST_CODE) 
if (requestCode == READ_REQUEST_CODE && resultCode == Activity.RESULT_OK) { 
      // The document selected by the user won't be returned in the intent. 
      // Instead, a URI to that document will be contained in the return intent 
      // provided to this method as a parameter. 
      // Pull that URI using resultData.getData(). 
      Uri uri = null; 

      if (resultData != null) { 
       uri = resultData.getData(); 
       uri1 = uri; 
       Log.i("anderwidth", "Uri: " + uri.toString()); 
File file = new File(uri1.getPath()); 
      } 
     } 

を読み取ろうとするとき、私はアンドロイドとの換装を使用していませ。何が起こっている?私はfile.existsは私が誰かがファイルマネージャアプリをダウンロードした場合、それがダウンロードされていないいない場合は、動作します// ...

その内容をfalse.Everytime与える、ファイルなどの画像や動画を読み込むために取得することはできません。

+0

'ファイルファイル=新しいファイル(uri1.getPath());'。それは動作しません。 uri1.getPath()とuri2.toStringの完全な値を投稿してください()。 – greenapps

答えて

1

あなたがパスから「読み取り」にしたい場合は、InputStreamを開いて(読んで)ストリームから。

InputStream is = getContentResolver().openInputStream(uri); 
+0

は、どのように私は、ファイルにそれを回すことができますか?私はファイルをアップロードする必要があるので?あなたは、ファイルシステムパスを持っていたとのFileInputStreamを開いていた場合 – Zenzen

+0

さてあなたは何をしますか?そのストリームからバイトを読み込みます()。もしあなたがそれを自分でやったならば。あなたはライブラリを使用する場合、ライブラリは、URIを使用してみましょう。 – greenapps

関連する問題