白云LDC 2022-11-29 02:53 采纳率: 40%
浏览 14
已结题

无法在SD卡中写入数据,同样的代码,换个工程就跑不起来了。

问题遇到的现象和发生背景

同样的一段代码,在一个工程里能运行,另一个却不行。

用代码块功能插入代码,请勿粘贴截图

public void writeToSD(View view) throws IOException {
        qz = findViewById(R.id.qz);
        xh = findViewById(R.id.xh);
        String X = xh.getText().toString().trim();
        String Y = qz.getText().toString().trim();
        String coordinate = X + "," + Y + "," + "\r";
        File dir = new File(Environment.getExternalStorageDirectory(), "point3");
        if (!dir.exists()) {
            dir.mkdir();
        } else {
            File file = new File(dir, SD_FILE_NAME);
            try (BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true)))) {
                String stringBuffer = coordinate + "\n";
                bw.write(stringBuffer);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

运行结果及报错内容

在能完美运行的app里,可以正常写入数据。在不能写入SD卡数据的app里,一点报错也没有。在sdcard/下面,既不创建文件夹,也不创建文件。

我的解答思路和尝试过的方法

SD卡的读、写权限已经添加了。基本是照着能运行的代码抄。都无法创建文件。我还换了真机,照样不行。

我想要达到的结果

 能在SD里写入数据。

  • 写回答

1条回答 默认 最新

  • 码上就疯 2022-11-29 08:16
    关注

    Android6.0之后读写权限需要动态申请,如果你没有写动态申请,那么你手动去该应用权限设置允许一下吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月7日
  • 已采纳回答 11月29日
  • 创建了问题 11月29日

悬赏问题

  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误