2011-08-18 51 views
11

android应用程序可以在内部存储器中创建多个目录以存储不同种类的文件吗?我需要这种功能,因为我需要在应用程序的特定时刻删除一种文件。在内部存储器的应用程序包中创建目录

当我尝试使用标准Context方法openFileOutput()并发送给它带有“/”符号的文件名时,我得到IllegalArgumentException

请告诉我什么类和方法可以让我这样的功能?

+0

http://stackoverflow.com/questions/8124612/android-create-folders-in-internal-memory/9707270#9707270 – user1269737

+0

我有类似的问题。并解决它。 http://stackoverflow.com/questions/8124612/android-create-folders-in-internal-memory/9707270#9707270 – user1269737

回答

36

使用Context.getDir(String name, int mode)方法创建或访问内部存储中的目录。从文档引用:

检索,创建(如果需要)应用程序可以放置自己的自定义数据文件的新目录。您可以使用返回的File对象来创建和访问此目录中的文件。请注意,通过File对象创建的文件只能由您自己的应用程序访问;您只能设置整个目录的模式,而不是单个文件。

UPD实施例:

File mydir = context.getDir("mydir", Context.MODE_PRIVATE); //Creating an internal dir; 
File fileWithinMyDir = new File(mydir, "myfile"); //Getting a file within the dir. 
FileOutputStream out = new FileOutputStream(fileWithinMyDir); //Use the stream as usual to write into the file. 
+0

非常感谢您的回复。你能解释我吗?当我使用Context.getDir()创建'File'对象时,我怎样才能在这个'File'对象中添加另一个'File'对象? – teoREtik

+1

@teoREtik查看更新的示例。 –

+1

非常感谢。你很友好!!! – teoREtik

相关问题