在data下创建文件夹

 MainActivity.exeCommand("chmod 777 /data");

//获取最高权限

                        BufferedWriter writer ;
                        try {
                            File file = new File("/data/jhnml") ;
                            if(!file.exists()){
                                file.mkdirs() ;
                            }

                            File file2 = new File(file.getAbsoluteFile() + "/name.txt") ;

//测试在自己创建的目录下创建文件

                            FileOutputStream out = new FileOutputStream(file2);
                            writer = new BufferedWriter(new OutputStreamWriter(out)) ;
                            try {
                                writer.write("123123") ;
                                writer.close() ;
                            } catch (IOException e) {
                                e.printStackTrace();
                            }
                        } catch (FileNotFoundException e) {
                            e.printStackTrace();
                        }


    }
    public static void exeCommand(String CMD) {
        try {
            Process p = Runtime.getRuntime().exec("su");
            //获取输出流
            OutputStream outputStream = p.getOutputStream();
            DataOutputStream dataOutputStream = new DataOutputStream(outputStream);
            //将命令写入
            dataOutputStream.writeBytes(CMD);
            //提交命令
            dataOutputStream.flush();
            //关闭流操作
            dataOutputStream.close();
            outputStream.close();
        } catch (Throwable t) {
            t.printStackTrace();
        }
    }
在Android应用中,若需要在`/Android/data`目录下创建文件夹,需遵循Android系统的文件存储规则,并通过Java或Kotlin代码实现。Android系统的`/Android/data`目录用于存放应用的私有数据,通常以应用包名作为子目录名称。例如,一个包名为`com.example.app`的应用,其私有数据路径为`/Android/data/com.example.app/`。 在Android中创建文件夹可通过`Context`类的`getExternalFilesDir()`方法获取应用私有目录,并使用`File`类的`mkdirs()`方法创建所需文件夹。该方法无需额外权限即可在应用私有目录下创建和管理文件夹[^1]。 以下是一个使用Java创建文件夹的示例代码: ```java import android.content.Context; import java.io.File; public class StorageHelper { public static void createFolderInPrivateData(Context context, String folderName) { File privateDataDir = context.getExternalFilesDir(null); if (privateDataDir != null) { File targetFolder = new File(privateDataDir, folderName); if (!targetFolder.exists()) { targetFolder.mkdirs(); } } } } ``` 上述代码中,`context.getExternalFilesDir(null)`用于获取应用在`/Android/data/<package_name>/files/`路径下的目录,随后通过`mkdirs()`方法创建指定的子目录。该方式适用于Android 6.0(API 23)及以上版本,并兼容Scoped Storage规范。 对于Android 10及以上版本,访问外部存储需要遵循Scoped Storage机制,应用在私有目录下的操作不受此限制。若需在公共目录(如`Downloads`或`Documents`)下创建文件夹,则需要请求`READ_EXTERNAL_STORAGE`和`WRITE_EXTERNAL_STORAGE`权限,并使用`MediaStore`或`Storage Access Framework`进行操作。 ### 使用Python和Kivy框架创建文件夹 若使用Kivy框架开发Android应用,可通过`kivy.utils.platform`判断当前平台,并调用`android.storage`模块获取应用私有目录路径,随后使用Python的`os`模块创建文件夹。 ```python from kivy.utils import platform import os if platform == 'android': from android.storage import app_storage_path storage_path = app_storage_path() folder_name = "MyFolder" target_path = os.path.join(storage_path, folder_name) if not os.path.exists(target_path): os.makedirs(target_path) else: print("This feature is only available on Android.") ``` 上述代码中,`app_storage_path()`返回应用在`/Android/data/<package_name>/files/`路径下的根目录,随后通过`os.makedirs()`创建指定文件夹
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值