终于找到了创建数据文件夹
简单
File mFolder = new File(Environment.getExternalStorageDirectory(), "Folder_Name");
if (!mFolder.exists()) {
boolean b = mFolder.mkdirs();
}
错误不处理之外的文件夹中的解决方案 运行时间许可 代码简单...
String TAG = "Permsission : ";
if (Build.VERSION.SDK_INT >= 23) {
if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
== PackageManager.PERMISSION_GRANTED) {
Log.v(TAG,"Permission is granted");
return true;
} else {
Log.v(TAG,"Permission is revoked");
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
return false;
}
}
else { //permission is automatically granted on sdk<23 upon installation
Log.v(TAG,"Permission is granted");
return true;
}
手柄许可
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
String TAG = "Permsission : ";
if(grantResults[0]== PackageManager.PERMISSION_GRANTED){
Log.v(TAG,"Permission: "+permissions[0]+ "was "+grantResults[0]);
//resume tasks needing this permission
//Define the path you want
File mFolder = new File(Environment.getExternalStorageDirectory(), "Folder_Name");
if (!mFolder.exists()) {
boolean b = mFolder.mkdirs();
}
}
}
ERRORE:java.io.FileNotFoundException:/sdcard/TESTEXAMPLE/SavedData.txt:打开失败:ENOENT(没有这样的文件或目录) - 我的设备没有SD卡..这种影响? –
很奇怪。实际上,使用此代码我保存在内部存储器中,而不是sdcard。你是否已经在Manifest中获得了许可? <使用权限android:name =“android.permission.WRITE_EXTERNAL_STORAGE”/> <使用权限android:name =“android.permission.READ_EXTERNAL_STORAGE”/> –
yes 尝试使用** Environment.getExternalStorageDirectory()**之前没有为我工作 –