Permissions android,adb,没有这样的文件或目录

Permissions android,adb,没有这样的文件或目录,permissions,storage,adb,chmod,ddms,Permissions,Storage,Adb,Chmod,Ddms,我在访问我在应用程序中创建的文件时遇到问题。 我已经浏览了互联网上所有可能的建议,但仍然无法访问这些文件 protected void onHandleIntent(Intent arg0) { ArrayList<String> parameters = new ArrayList<String>(); String fileName; File file; File parameterFile; //generate da

我在访问我在应用程序中创建的文件时遇到问题。 我已经浏览了互联网上所有可能的建议,但仍然无法访问这些文件

protected void onHandleIntent(Intent arg0) {

    ArrayList<String> parameters = new ArrayList<String>();

    String fileName;
    File file;
    File parameterFile;

    //generate data containing general information about the device
    //retrieve the data from the intent

    parameters=arg0.getStringArrayListExtra("com.example.mypackage.parameters");
    for(int i = 0; i < parameters.size(); ++i)
    {
        parameter = parameters.get(i);
        String[] split = parameter.split(" ");
        String name=split[1];
        fileName = name + ".csv";

        //check the state of the external storage
        String state = Environment.getExternalStorageState();
        Log.e("DIR: ", "STATE: " + Environment.getExternalStorageState());
        //return info if the storage is read-only
        if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state))
        {Log.e("DIR: ", "STATE: READ_ONLY");}

        final File parametersDir = new File(Environment.getExternalStoragePublicDirectory("myPackage"), "Parameters");
        parametersDir.mkdirs();

        parameterFile = new File(parametersDir, fileName);
        parameterFile.setExecutable(true);
        generateTextFile(parameterFile, parameter);

        //check file's permissions
        parameterFile.setExecutable(true, false); 
        parameterFile.setReadable(true, false);
        parameterFile.setWritable(true, false);

        boolean executable = parameterFile.canExecute();
        boolean readable = parameterFile.canRead();
        boolean writable = parameterFile.canWrite();

        if(!executable){Log.e("FILE: ", "File cannnot be executed.");}
        if(!readable){Log.e("FILE: ", "File cannnot be read.");}
        if(!writable){Log.e("FILE: ", "File cannnot be written to.");}

        }
我在用手机 我正在将文件写入三星Galaxy Nexus的外部存储器 DDMS会看到创建的文件,但每当我尝试提取它们时,它都会显示: [2013-06-25 11:45:26-ddms]传输错误:没有这样的文件或目录

[2013-06-25 11:45:26]拉选失败:没有这样的文件或目录

但是,这些文件在DDMS中是可见的,是的,我在左侧的设备资源管理器中选择了手机和软件包

当我以根用户身份打开adb shell时:

cd存储/sdcard0

然后我两个都进去了

chmod 777 myPackage

chmod-R 777 myPackage

但它仍然不会更改我已写入此目录的文件的权限。另外,直接在myPackage目录中的文件上使用chmod 777不起作用,并返回:没有这样的文件或目录

不用说,我无法从shell上方提取文件

这是我用来生成文件的代码

protected void onHandleIntent(Intent arg0) {

    ArrayList<String> parameters = new ArrayList<String>();

    String fileName;
    File file;
    File parameterFile;

    //generate data containing general information about the device
    //retrieve the data from the intent

    parameters=arg0.getStringArrayListExtra("com.example.mypackage.parameters");
    for(int i = 0; i < parameters.size(); ++i)
    {
        parameter = parameters.get(i);
        String[] split = parameter.split(" ");
        String name=split[1];
        fileName = name + ".csv";

        //check the state of the external storage
        String state = Environment.getExternalStorageState();
        Log.e("DIR: ", "STATE: " + Environment.getExternalStorageState());
        //return info if the storage is read-only
        if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state))
        {Log.e("DIR: ", "STATE: READ_ONLY");}

        final File parametersDir = new File(Environment.getExternalStoragePublicDirectory("myPackage"), "Parameters");
        parametersDir.mkdirs();

        parameterFile = new File(parametersDir, fileName);
        parameterFile.setExecutable(true);
        generateTextFile(parameterFile, parameter);

        //check file's permissions
        parameterFile.setExecutable(true, false); 
        parameterFile.setReadable(true, false);
        parameterFile.setWritable(true, false);

        boolean executable = parameterFile.canExecute();
        boolean readable = parameterFile.canRead();
        boolean writable = parameterFile.canWrite();

        if(!executable){Log.e("FILE: ", "File cannnot be executed.");}
        if(!readable){Log.e("FILE: ", "File cannnot be read.");}
        if(!writable){Log.e("FILE: ", "File cannnot be written to.");}

        }
根据日志,一旦我的文件被写入,即使我将它们设置为可读、可写和可执行,它们的权限仍然保持不变

为了澄清这些疑问,我也在舱单上声明

使用权限android:name=android.permission.WRITE\u外部存储

使用权限android:name=android.permission.READ\u外部存储


我的意思是,我真的不知道下一步该做什么,所以如果有人能帮助我,我将非常高兴。

问题解决了,这与权限无关。记住,孩子们,在定义文件名时,确保在扩展名之前删除行尾字符!!