Java 我能';t在Android中写入/mnt/sdcard2
现在我正在用Andoid制作一些版本的文件管理器。 我同意: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
<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;
}