我搜索了这些问题,但无法解决它。请帮我解决这个问题
这是我的mkdir代码:
<% foreach(string s in Test1) { %>
<div><%:s%></div>
<% } %>
我的manifest.xml:
File _sdcardPath = Environment.getExternalStorageDirectory(); // sdcard path is /storage/emulate/0
File _dirPath = new File(_sdcardPath, "CreateFolder");
boolean _isCreate = _dirPath.mkdir();
if (_isCreate) {
tvResult.append(_dirPath + " mkdir success");
} else {
tvResult.append(_dirPath + " mkdir fail");
}
我的设备Android版本是:5.1.1,12GB可用空间,代码在5.0下运行
在运行应用程序时,我遇到了这个异常:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.createfolder"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="21" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
答案 0 :(得分:3)
OP记得在他/她的问题中添加例外。这个答案不再适用了。
-
您没有给它创建一个新文件夹。试试这个:
func testScheduleActionIsConnected() {
XCTAssertTrue(checkActionForOutlet(controller.btnScheduleOrder, actionName: "scheduleOrder", event: UIControlEvents.TouchUpInside, controller: controller ))
}
答案 1 :(得分:2)
我发现你的代码没有任何问题。根据{{3}}和mkdir(),我认为该文件夹已存在。
失败时false 或目录已存在。
这意味着以下代码:
File _dirPath = new File(_sdcardPath, "CreateFolder");
boolean _isCreate = _dirPath.mkdir();
仅尝试(重新)创建现有文件夹/storage/emulate/0
,因此返回false
。
要创建新文件夹,请尝试以下操作:
File _dirPath = new File(_sdcardPath + "/CreateFolder");
boolean _isCreate = _dirPath.mkdir();// this will create folder CreateFolder
答案 2 :(得分:1)
检查/storage/emulate/0/CreateFolder
之前是否存在mkdir
,如下所示:
File _sdcardPath = Environment.getExternalStorageDirectory();
File _dirPath = new File(_sdcardPath, "CreateFolder");
final boolean dirExisted = _dirPath.exists();
if (dirExisted && _dirPath.isFile()) {
_dirPath.delete();
}
if (dirExisted) {
tvResult.append(_dirPath + " dir existed");
return;
}
boolean _isCreate = _dirPath.mkdir();
if (_isCreate) {
tvResult.append(_dirPath + " mkdir success");
} else {
tvResult.append(_dirPath + " mkdir fail");
}
如果路径存在file
,请尝试delete
它。如果是dir
,则无需再创建它。
答案 3 :(得分:1)
请检查DocumentFile以从Android 4.4及更高版本访问SD卡。详细信息请参见link