我可以将文件写入我的(三星)平板电脑的本地存储器,代码如下:
String fileName = "myfile.ser";
FileOutputStream fos = context.openFileOutput(fileName, Context.MODE_PRIVATE);
ObjectOutputStream os = new ObjectOutputStream(fos);
os.writeObject(this);
os.close();阅读对于类似的代码也是没有问题的。我可以通过USB在中看到附加的平板电脑的文件系统。但是我无法发现Android文件系统中的"myfile.ser“文件是在哪里写的?
是藏起来的吗?
发布于 2014-02-20 10:22:57
openFileOutput返回一个无法访问的低档文件资源管理器位置。应该是/data/data/yourpackagename
发布于 2014-02-20 10:25:53
根据这个问题,What file system path is used by Android's Context.openFileOutput()?
openfileoutput()方法指向getFilesDir()在Context上返回的目录.
应该是/data/data/yourpackagename ..。
发布于 2014-02-20 10:35:25
openFileOutput()从应用程序上下文中从getFilesDir()获取基本目录。前面提到的路径是/data/data/yourpackagename。
应用程序是沙箱的,这意味着与应用程序相关的文件可以在应用程序中使用,除非保存在外部存储中。数据目录是os的内部目录,即使使用DDMS,也无法浏览数据目录。
https://stackoverflow.com/questions/21904804
复制相似问题