Android file.mkdirs()不工作
我想在我手机的SD卡中写入一个文件。我使用了下面的代码Android file.mkdirs()不工作,android,file,sd-card,Android,File,Sd Card,我想在我手机的SD卡中写入一个文件。我使用了下面的代码 private CSVWriter _writer; private File _directory; public String _fileTestResult; private String PATH_FILE_EXPORT = "/applications/foru/unittestframework/"; public ExportData(){ _writer=null; _directory = new
private CSVWriter _writer;
private File _directory;
public String _fileTestResult;
private String PATH_FILE_EXPORT = "/applications/foru/unittestframework/";
public ExportData(){
_writer=null;
_directory = new File(Environment.getExternalStorageDirectory () +PATH_FILE_EXPORT);
if(!_directory.exists())
_directory.mkdirs();
}
public void exportResult(String testcaseNum,String testcase,String status){
try {
if(_directory.exists()){
//do something
}
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()) {
imagefolder = new File(root,
mycontext.getString(R.string.app_name));
imagefolder.mkdirs();
}
} catch (Exception e) {
Log.e("DEBUG", "Could not write file " + e.getMessage());
}
但是mkdirs不工作。所以我不能在if条件下执行以下代码。请帮助我
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()) {
imagefolder = new File(root,
mycontext.getString(R.string.app_name));
imagefolder.mkdirs();
}
} catch (Exception e) {
Log.e("DEBUG", "Could not write file " + e.getMessage());
}
注意:我已经在清单文件中授予了权限
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()) {
imagefolder = new File(root,
mycontext.getString(R.string.app_name));
imagefolder.mkdirs();
}
} catch (Exception e) {
Log.e("DEBUG", "Could not write file " + e.getMessage());
}
编辑:
我正在使用此文件写入选项存储使用robotium的自动化测试结果。我已经创建了一个普通项目,并尝试在SD卡中创建目录。但是,当我在此测试项目中使用相同的代码时,它不起作用。为什么会这样?单元测试框架不支持此功能吗?请尝试下面的代码
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()) {
imagefolder = new File(root,
mycontext.getString(R.string.app_name));
imagefolder.mkdirs();
}
} catch (Exception e) {
Log.e("DEBUG", "Could not write file " + e.getMessage());
}
试试下面的代码
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()) {
imagefolder = new File(root,
mycontext.getString(R.string.app_name));
imagefolder.mkdirs();
}
} catch (Exception e) {
Log.e("DEBUG", "Could not write file " + e.getMessage());
}
您是否在清单中添加了正确的权限
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()) {
imagefolder = new File(root,
mycontext.getString(R.string.app_name));
imagefolder.mkdirs();
}
} catch (Exception e) {
Log.e("DEBUG", "Could not write file " + e.getMessage());
}
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
您是否在清单中添加了正确的权限
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()) {
imagefolder = new File(root,
mycontext.getString(R.string.app_name));
imagefolder.mkdirs();
}
} catch (Exception e) {
Log.e("DEBUG", "Could not write file " + e.getMessage());
}
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
尝试:
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()) {
imagefolder = new File(root,
mycontext.getString(R.string.app_name));
imagefolder.mkdirs();
}
} catch (Exception e) {
Log.e("DEBUG", "Could not write file " + e.getMessage());
}
if(!_directory.exists())
_directory.mkdir();
同时检查此项-尝试:
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()) {
imagefolder = new File(root,
mycontext.getString(R.string.app_name));
imagefolder.mkdirs();
}
} catch (Exception e) {
Log.e("DEBUG", "Could not write file " + e.getMessage());
}
if(!_directory.exists())
_directory.mkdir();
还要检查这个-它到底是如何不起作用的?你能发布你的日志输出吗?它没有进入if条件。SD卡中没有这样的文件。你在什么设备上测试它?另外,发布清单中包含nexus os版本jelly Bean上的permissiontesting的部分。它到底是怎么工作的?你能发布你的日志输出吗?它没有进入if条件。SD卡中没有这样的文件。你在什么设备上测试它?另外,发布清单中包含nexus os版本jelly Bean上的permissiontesting的部分。请让我知道什么是evt?这是对我的应用程序的测试。这对你的问题不重要。请让我知道什么是evt?这是对我的应用程序的测试。这对你的问题不重要
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()) {
imagefolder = new File(root,
mycontext.getString(R.string.app_name));
imagefolder.mkdirs();
}
} catch (Exception e) {
Log.e("DEBUG", "Could not write file " + e.getMessage());
}