如何将文件保存到Android手机而不是SD卡?我知道对于sdcard你做的方式是调用Environment.getExternalStorageDirectory()。getAbsoluteDirectory();或类似的东西,无论如何,我有它的工作方式。但是我希望能够保存到我的手机中,我是否需要在我的清单中获得许可才能这样做?我已经尝试将getexternalst ....替换为getDataDirectory,但这似乎没有用。
一如既往,请和谢谢:)
EDIT ---------------
03-15 21:29:26.213:W / dalvikvm(21686):threadid = 1:线程退出,未捕获异常(group = 0x2aac8578) 03-15 21:29:26.213:E / AndroidRuntime(21686):致命异常:主要 03-15 21:29:26.213:E / AndroidRuntime(21686):java.lang.RuntimeException:无法实例化活动ComponentInfo {com.alphaphonefinder / com.alphaphonefinder.Main}:java.lang.NullPointerException
答案 0 :(得分:0)
您可以使用Context#getFilesDir
以字符串形式获取完整路径(假设this
是活动):
String path = this.getFilesDir().getAbsolutePath();
答案 1 :(得分:0)
最简单的方法是调用Context#openFileOutput(String, int)
,它接受一个String作为文件名,一个int指定模式并返回一个FileOutputStream。然后在FileOutputStream上调用write,传递数据的字节数组。确保在完成后关闭FOS。
编辑:
如果您只想要内部文件目录,请尝试返回文件的Context#getFilesDir
,文件上的getPath()
或getAbsolutePath()
将以String形式返回目录。