2016-11-27 163 views
0

我想在我的应用程序中实现“查看”功能,其中文件被打开,但实际上并未保存到磁盘。 如何下载文件,然后打开它而不保存到磁盘?Android - 如何下载文件,然后将其打开而不保存到磁盘?

(我注意到,很多其他应用程序的那些本不需要存储权限打开文件,所以他们肯定不能把它保存到磁盘吧?)

或者我应该创建一个临时文件,然后删除它,当我完成它?

+0

应用程序本身是否打开'文件'?或者你想要一个不同的应用程序? – greenapps

+0

@greenapps该应用正在打开该文件 – Guest1997

回答

0

您不需要在内部文件目录中保存文件的权限。这是大多数应用程序所做的。如果你不想这样做,你可以将文件读取到一个String对象,并从那里处理它。你可以使用Apache IOUtils.copy。 这里enter link description here是一个stackoverflow问题,它的描述。你可以通过使用Google来发现你自己。

0

您可以将文件保存在缓存方向这样

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

将文件下载到一个ByteArrayOutputStream或直接到一个字节数组。这一切都在记忆中。

相关问题