Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android file.mkdirs()不工作_Android_File_Sd Card - Fatal编程技术网

Android file.mkdirs()不工作

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

我想在我手机的SD卡中写入一个文件。我使用了下面的代码

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());
            }