2016-11-27 36 views
0

ファイルが開かれていて実際にディスクに保存されていないアプリケーションでは、「表示」機能を実装したいと考えています。 ファイルをダウンロードしてディスクに保存せずに開くにはどうすればよいですか?Android - ファイルをダウンロードしてからディスクに保存せずに開く方法

(私は?彼らは確実にディスクを右にそれを保存してはいけないので、これを行う他のアプリの多くは、ファイルを開くには、ストレージ権限を必要としないことに気付きました)

または私が作成する必要があります一時ファイルを削除してから削除します。

+0

アプリは「ファイル」自体を開いていますか?あるいは、別のアプリを意図したいのですか? – greenapps

+0

@greenappsアプリがファイルを開いています – Guest1997

答えて

0

内部ファイルディレクトリにファイルを保存する権限は必要ありません。それがほとんどのアプリがすることです。それをしたくない場合は、そのファイルをStringオブジェクトに読み込んでそこから処理することができます。 Apache IOUtils.copyを使用することができます。 ここでenter link description hereは説明されているスタックオーバーフローの問題です。あなたはGoogleを使って自分自身を見つけたかもしれません。あなたの懸念は、そのファイルをセキュリティで保護する場合は、この

File outputDir = context.getCacheDir(); // context being the Activity pointer 
File outputFile = File.createTempFile("prefix", "extension", outputDir); 
0

、あなたは、単にプライベートファイルとして、アプリケーションの内部メモリにそのファイルを保存することができ、何のアプリは、そのファイルを開くことができませんあなたのアプリコンテキストなし。内部メモリにファイルを保存するには、次の

File theDir = context.getDir("theDir", Context.MODE_PRIVATE); 
File fileWithinThatDir = new File(theDir, "yourFile"); 
FileOutputStream out = new FileOutputStream(fileWithinThatDir); 

は、そのファイルを削除するには:

new File("PathOfThatFile").delete(); 
0

のようにキャッシュ方向にファイルを保存することができます

0

ダウンロードファイルをByteArrayOutputStreamまたは直接バイト配列に。それはすべて記憶にあります。

関連する問題