Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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
Java 我能';t在Android中写入/mnt/sdcard2_Java_Android_Ioexception_Android External Storage - Fatal编程技术网

Java 我能';t在Android中写入/mnt/sdcard2

Java 我能';t在Android中写入/mnt/sdcard2,java,android,ioexception,android-external-storage,Java,Android,Ioexception,Android External Storage,现在我正在用Andoid制作一些版本的文件管理器。 我同意: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 当我测试我的应用程序时,我使用真实的设备。 我的路径类似于“/mnt/sdcard/Music/blabl

现在我正在用Andoid制作一些版本的文件管理器。 我同意:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
当我测试我的应用程序时,我使用真实的设备。 我的路径类似于“/mnt/sdcard/Music/blabla”等等

我的路径就像“/mnt/sdcard/Music/blabla”

请勿使用硬编码路径,因为这些路径可能(也将)因设备型号或操作系统版本而异。类中有一些方法可以获取外部存储的根文件夹,您应该像这样使用它

编辑

。我需要得到的文件夹,内容文件夹,如音乐,DCIM,下载,但在智能手机的内部存储

如果您想使用系统功能,如DownloadManager或外部摄像头应用程序,则不能使用“专用”DCIM,因为这些应用程序将无法写入您的专用存储。所以你可以自己下载/拍照,然后你可以随时保存文件,或者你可以使用现在可用的,所有的优点和缺点


“external”/“internal”这个名字现在有点误导人,所以不要太直截了当。

你的android设备是哪个版本的?是否存在
/mnt/sdcard2
存在?
/mnt/sdcard2
存在,我处理过这个文件夹。它是我设备的内部存储器。我可以将文件从
/mnt/sdcard2
复制到
/mnt/sdcard
如果(!newFile.exists()){if(!isFolder){newFile.createNewFile();}}
。最好删除所有这些代码,因为copyFile()应该创建文件,所以不需要这些代码。此外,我们无法看到您如何初始化
isFolder
-同样的问题GetExternalStorageDirectory()返回我ExternalStorage。我怎样才能得到内部存储?你问的是SD卡。这曾经是外部存储器。请参阅内部存储的方法
如何获取内部存储?
。getFilesDir()。所以
getFilesDir()
提供我的应用程序文件夹,如data/data/myApplication)。我需要得到的文件夹,内容文件夹,如音乐,DCIM,下载,但在智能手机的内部存储。看到这一点,我想使用内部存储,但这一点的绝对路径是什么?
try {
            File existingFile = new File(path);
            File newFile = new File(newPath);
            if (!newFile.exists()) {
                if (!isFolder)
                {
                    newFile.createNewFile();
                }

            } 

            if (isFolder) {
                FileUtils.copyDirectory(existingFile, newFile);
            }
            else
            {
                FileUtils.copyFile(existingFile, newFile);
            }

        } catch (IOException e) {
            result = 1;
        }