数据目录在Android中没有读/写权限
我使用的是Android 1.5。我的数据目录没有读/写权限数据目录在Android中没有读/写权限,android,android-emulator,android-manifest,Android,Android Emulator,Android Manifest,我使用的是Android 1.5。我的数据目录没有读/写权限 System.out.println("DAta can write??--->"+Environment.getDataDirectory().canWrite()); System.out.println("DAta can read??--->"+Environment.getDataDirectory().canRead()); 因此,请建议我如何为数据目录提供权限 我试图做的是创建一个文件,并在emulator
System.out.println("DAta can write??--->"+Environment.getDataDirectory().canWrite());
System.out.println("DAta can read??--->"+Environment.getDataDirectory().canRead());
因此,请建议我如何为数据目录提供权限
我试图做的是创建一个文件,并在emulator的数据存储中添加一些内容,如下所示
private void writeToSDCard() {
try {
File lroot = Environment.getDataDirectory();
if (lroot.canWrite()){
File lfile = new File(lroot, "samplefile.txt");
FileWriter lfilewriter = new FileWriter(lfile);
BufferedWriter lout = new BufferedWriter(lfilewriter);
lout.write("XXXXXXXXXXXXXXXXXX");
lout.close();
}
} catch (IOException e) {
Log.e(m_cTAG, "Could not write file " + e.getMessage());
}
}
您不应该查看数据目录。这是手机存储器中的一个系统目录,通常为
/data
,您的应用程序将永远没有写入该目录的权限
应用程序应将文件写入的目录由返回。它类似于/data/data/com.yourdomain.YourApp/files
如果要写入手机存储器中的文件,请使用
如果需要SD卡的路径,请使用。要写入SD卡,您需要通过将以下内容添加到清单中,为应用程序授予相应的权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
下面是要做的工作:private void writeToSDCard(){try{File lroot=Environment.getDataDirectory();if(lroot.canWrite()){File lfile=new File(lroot,“samplefile.txt”);FileWriter lfilewriter=new FileWriter(lfile);BufferedWriter lout=new BufferedWriter(lfilewriter);lout.write(“xxxxxxxxxxxx”);lout.close();}}catch(IOException e){Log.e(m_cTAG,“无法写入文件”+e.getMessage();}}是的,感谢您的宝贵建议..:-)哪些特定的外部存储状态将允许写入文件?。
OutputStream os = openFileOutput("samplefile.txt", MODE_PRIVATE);
BufferedWriter lout = new BufferedWriter(new OutputStreamWriter(os));