关于java, 安卓12Android/目录权限问题

java如何修改Android/data的内容,比如说Android/data有一个叫a.txt的文件,怎么把内容改成2333

参考这个案例:
在 AndroidManifest.xml 文件中添加如下权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

然后,在代码中可以通过如下方式来修改 Android/data 目录下的 a.txt 文件:

String filePath = getExternalFilesDir(null).getPath() + "/a.txt";
File file = new File(filePath);
try {
    BufferedWriter writer = new BufferedWriter(new FileWriter(file));
    writer.write("2333");
    writer.close();
} catch (IOException e) {
    e.printStackTrace();
}

这段代码使用了 getExternalFilesDir(null) 方法获取应用程序的外部文件目录,然后将文件名拼接成完整的路径。接着,通过 File 类创建一个文件对象,然后使用 BufferedWriter 类写入新的内容。最后记得关闭文件流。

希望能够帮到你。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7640287
  • 这篇博客也不错, 你可以看下彻底解决android读取txt乱码终极方案
  • 除此之外, 这篇博客: Android11 往内存中写txt文件中的 一 申请权限 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

            当你无法将txt文件写不进去的时候,大部分人会说你没有动态申请权限啊啥啥的,而且网上动态申请权限的方法每个人写的不尽相同,大部分的做法是申请权限,然后去check下是否申请了,授权了咋办,拒绝了咋办........

            但有的时候,你写不进去他不一定是因为你没有动态申请权限啊,然后你就按那个人的弄弄,复制下那个人的.....陷入下面的循环中.......

    while(写不进去){
        复制
        注释
    }//死循环

            一定要对自己的申请权限的代码有信息,写不进去有可能不是因为我的权限申请有问题,只要app赋予了下面俩权限,就要考虑是不是不是权限的问题

    Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE

            前面说了,动态申请权限网上的方法不尽相同,直到遇到郭大神的    permissionx


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^