我正在尝试将文件保存在Android 1.5的子目录中。 我可以使用
成功创建目录_context.GetFileStreamPath("foo").mkdir();
(_ context是我开始执行保存文件的Activity)但是如果我尝试在foo /中创建一个文件
_context.GetFileStreamPath("foo/bar.txt");
我得到一个例外,说我不能在文件名中包含目录分隔符(“/”)。
我在Android中缺少使用文件的东西......我想我可以使用标准的Java类,但它们似乎不起作用...... 我搜索了Android文档,但我不能很好的例子,谷歌也没有帮助我...
我问的是错误的问题(谷歌)......
你能帮我解决这个问题吗?
谢谢!
答案 0 :(得分:3)
我明白我错过了什么。 Java File类工作得很好,你只需要传递实际写文件的绝对路径。
为了获得这个“root”目录,我使用了_context.getFilesDir()。这将为您提供应用程序的根目录。有了这个,我可以使用new File(root + "myFileName")
或Sean Owen new File(rootDirectory, "myFileName")
创建文件。
答案 1 :(得分:3)
您不能直接使用路径,但必须为每个目录创建一个文件对象。 我不明白为什么,但这是它的工作方式。
注意:此代码生成目录,您的可能不需要...
File file = context.getFilesDir();
file.mkdir();
String[] array = filePath.split("/");
for (int t = 0; t < array.length - 1; t++) {
file = new File(file, array[t]);
file.mkdir();
}
File f = new File(file, array[array.length - 1]);
RandomAccessFileOutputStream rvalue = new RandomAccessFileOutputStream(f, append);
答案 2 :(得分:2)
使用getDir()
获取“foo”目录作为File
对象的句柄,并从中创建类似new File(fooDir, "bar.txt")
的内容。