Android 无法写入SD卡--canWrite返回false
很抱歉标题不明确,但我正在执行以下操作将简单字符串写入文件:Android 无法写入SD卡--canWrite返回false,android,file-io,Android,File Io,很抱歉标题不明确,但我正在执行以下操作将简单字符串写入文件: try { File root = Environment.getExternalStorageDirectory(); if (root.canWrite()){ System.out.println("Can write."); File def_file = new File(root, "default.txt"); Fil
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()){
System.out.println("Can write.");
File def_file = new File(root, "default.txt");
FileWriter fw = new FileWriter(def_file);
BufferedWriter out = new BufferedWriter(fw);
String defbuf = "default";
out.write(defbuf);
out.flush();
out.close();
}
else
System.out.println("Can't write.");
}catch (IOException e) {
e.printStackTrace();
}
但是root.canWrite()
似乎每次都返回false。我不是在模拟器上运行这个程序,我将我的android Eris通过USB插入我的电脑,并通过Eclipse在手机上运行应用程序。有没有办法授予我的应用权限,这样就不会发生这种情况
此外,这段代码似乎是在创建文件default.txt
,但如果它已经存在,它会忽略创建并直接打开它进行写入,还是我必须捕获类似于FileAlreadyExists
(如果存在这样的异常)的内容,然后直接打开并写入
谢谢你们的帮助
有没有办法让我的应用程序
这样就不会发生这种事了
您需要写入外部存储
权限
您也不需要在开发计算机上安装SD卡——计算机或手机都可以访问SD卡,但不能同时访问两者。将“写入外部存储”权限添加到清单文件中 如果有必要,请执行以下操作
我从计算机上卸下了手机,但仍然出现错误,我已在AndroidManifest.xml文件中添加了写入外部存储权限,提前感谢。