在Android的子目录中写入文件
我正在尝试将文件保存在 Android 1.5 的子目录中。 我可以使用
_context.GetFileStreamPath("foo").mkdir();
(_context是我开始执行保存文件的活动)成功创建一个目录,但是如果我尝试在 foo/ 中创建一个文件,
_context.GetFileStreamPath("foo/bar.txt");
我会得到一个异常,说我不能在文件中包含目录分隔符姓名 (”/”)。
我缺少在 Android 中处理文件的一些东西...我以为我可以使用标准 Java 类,但它们似乎不起作用... 我搜索了 Android 文档,但我找不到很好的例子,谷歌也没有帮助我...
我问了错误的问题(向谷歌)...
你能帮我解决这个问题吗?
谢谢你!
I'm trying to save a file in a subdirectory in Android 1.5.
I can successfully create a directory using
_context.GetFileStreamPath("foo").mkdir();
(_context is the Activity where I start the execution of saving the file) but then if I try to create a file in foo/ by
_context.GetFileStreamPath("foo/bar.txt");
I get a exception saying I can't have directory separator in a file name ("/").
I'm missing something of working with files in Android... I thought I could use the standard Java classes but they don't seem to work...
I searched the Android documentation but I couldn't fine example and google is not helping me too...
I'm asking the wrong question (to google)...
Can you help me out with this?
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我明白我错过了什么。
Java File 类工作得很好,您只需传递实际可以写入文件的绝对路径即可。
为了获取这个“根”目录,我使用了 _context.getFilesDir()。这将为您提供应用程序的根目录。有了这个,我可以使用
new File(root + "myFileName")
或 Sean Owen 所说的new File(rootDirectory, "myFileName")
创建文件。I understood what I was missing.
Java File classes works just fine, you just have to pass the absolute path where you can actually write files.
To get this "root" directory I used _context.getFilesDir(). This will give you the root of you application. With this I can create file with
new File(root + "myFileName")
or as Sean Owen saidnew File(rootDirectory, "myFileName")
.您不能直接使用路径,但必须为每个目录创建一个文件对象。
我不明白为什么,但这就是它的工作原理。
注意:此代码创建目录,您的可能不需要......
You cannot use path directly, but you must make a file object about every directory.
I do not understand why, but this is the way it works.
NOTE: This code makes directories, yours may not need that...
使用
getDir()
以File
对象的形式获取“foo”目录的句柄,并创建类似new File(fooDir, "bar.txt" )
来自它。Use
getDir()
to get a handle on the "foo" directory as aFile
object, and create something likenew File(fooDir, "bar.txt")
from it.