如何访问文件文件夹中的文件?

时间:2018-11-11 17:06:01

标签: java android file exception permissions

我正在尝试访问documents文件夹中的文件,但始终会引发异常。该路径的正确代码是什么?我正在使用三星SM-G950F Android 8.0.0

int result(int a[], int b[])
{
  int *wsk = &c_tab[0];
  char choice;
  printf("0.Add\n1.Substract");
  scanf("%c", &choice);
  for (i=0; i<9; i++) {
    if (choice== '0')
    {
      *wsk = a[i] + b[i];
      wsk++;
    }
    else if (choice== '1')
    {
      *wsk = a[i] - b [i];
      wsk++
    }
  }
  return *wsk;
}
  

java.io.FileNotFoundException:/storage/emulated/0/sdcard/Documents/asd.txt(无此类文件或目录)

Payload Size
  

java.io.FileNotFoundException:/sdcard/Documents/asd.txt(权限被拒绝)

我这里的权限被拒绝,我的清单文件中有这些权限:

File file = new File(Environment.getExternalStorageDirectory() + "/sdcard/Documents/asd.txt");

2 个答案:

答案 0 :(得分:0)

从Android 6.0开始,您必须要求权限https://developer.android.com/guide/topics/permissions/overview

答案 1 :(得分:0)

File对象将通过以下方式创建:

File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), "asd.txt");

此外,as Igor points out,您将需要为READ_EXTERNAL_STORAGE请求运行时权限。