我试图通过应用程序在外部存储目录中创建文件夹和文件。
File f = new File("/storage/emulated/0", mFileName);
boolean isCreated = f.mkdir();
这总是成功的,isCreated为true,没有任何异常或警告,并且创建了文件夹。
Environment.getExternalStorageDirectory()也返回"/存储/仿真/0"。
但当我尝试在外部存储卡(可移动存储卡)中创建文件夹时,如下所示:
File f = new File("/storage/6161-3165", mFileName);
boolean isCreated = f.mkdir();
始终f.mkdir()返回false,并且未创建文件夹。同时我可以看到W/System。错误:。。。在logcat中,如下所示:
**02-22 14:50:47.551 13536-13536/com.testapp.extsd W/System.err: mkdir failed: EACCES (Permission denied) : /storage/6161-3165/uyyyy**
我在清单文件中提到WRITE_EXTERNAL_STORAGE权限。未创建静止文件夹。
我想知道如何在外部卡存储中创建文件夹和文件。
我手机中存储的文件结构是:
shell@j7xelte:/storage $ ls -l
drwxrwx--x root sdcard_rw 2017-02-05 07:59 6161-3165
drwx--x--x root sdcard_rw 2016-01-01 17:34 emulated
drwxr-xr-x system system 2017-02-05 07:59 enc_emulated
drwxr-xr-x root root 2017-02-05 07:59 self
shell@j7xelte:/存储$
正在等待响应。。。
尝试此代码。。。。
String externalDataPath = Environment.getExternalStorageDirectory() + "/yourFolder";
File f = new File(externalDataPath);
try {
if (!f.exists()) {
f.mkdir();
}
externalDataPath = externalDataPath + "/" + filename;
f = new File(externalDataPath);
if (!f.exists())
f.createNewFile();
externalDataPath = Environment.getExternalStorageDirectory().toString();
} catch (IOException e) {
e.printStackTrace();
}
希望这有助于:)
首先,您必须向AndroidManifest添加一些权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
要在外部存储中创建文件夹,请调用以下命令
String folder_main = "NewFolder";
File f = new File(Environment.getExternalStorageDirectory(), folder_main);
if (!f.exists()) {
f.mkdirs();
}
另外,对于Android
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE);
得到结果
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if(grantResults[0]== PackageManager.PERMISSION_GRANTED){
Log.v(TAG,"Permission: "+permissions[0]+ "was "+grantResults[0]);
//resume tasks needing this permission
}
}
然后检查一下
if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
Log.v(TAG,"Permission is granted");
//File write logic here
return true;
}
我试图创建SD卡并将图像加载到该卡上。我不知道是什么命令出错了,现在我的SD卡没有显示为文件夹,而是显示为图像。现在,我无法读取SD卡或将文件夹或图像添加到SD卡上,因为它显示“mkdir失败,只读文件系统”。我尝试了新的eclipse和新的android sdk,但问题是一样的。也许在我的系统的某个地方,属性已经设置好了。我是android的新手,我被困得很厉害。请帮忙! 我试图直接推送图像..
问题内容: 我正在使用以下代码从服务器下载文件,然后将其写入sd卡的根目录,一切正常: 但是,;表示文件将始终写入root /mnt/sdcard。是否可以指定某个文件夹来写入文件? 例如: 问题答案:
我是Android系统的新手。我得到了一个应用程序,在其中我列出了所有SD文件和文件夹,包括doc,pdf,xls,jpg等。 如何在Android中以编程方式获取我的SD卡中所有文件夹和文件的文件夹名和文件名? 我正在使用这段代码,但无法获得文件夹名称(根文件夹和子文件夹)。
问题内容: import java.io.File; File folder = new File(Environment.getExternalStorageDirectory() + “/TollCulator”); boolean success = true; if (!folder.exists()) { //Toast.makeText(MainActivity.this, “Dire
Android Api 29在文件和文件夹方面有很大的变化。到目前为止,我还没有找到在内部存储器中创建一个公共可见的文件夹的方法。我创建的每个文件夹只能由我的应用程序看到。 我编写了一个应用程序来创建数据文件,这些文件将被其他应用程序拾取,例如总指挥官将它们复制到目的地。在我激活Api 29之前,一切都很好。我的一些客户确实使用像素手机,他们使用Android 10。 如何在Android 10中
我需要在android外部可移动存储设备上创建一个文件夹kalid。但是我的文件夹是在手机存储上创建的。我已经从教程中实现了这两个代码。 上面的代码在内部内存中创建kalids文件夹 我的清单如下所示 如何在外部存储设备中创建文件夹?