Permission issue in reading file from external storage

I tried to work around the path separator issue by using File and Scanner:

void loadEnv( String f) {
  String dir = new String(Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+image_folder+"/");
  File file = new File( dir+f);
  
  try {
    println( dir+f);
    Scanner sc = new Scanner(file);
    println(sc.next());
  } 
  catch (Exception e) {
    println(e);
    text("File not found", width/2, height/2);
  }
}

Then it returns permission error:

java.io.FileNotFoundException: /storage/emulated/0/twinkBOSS/env.txt: open failed: EACCES (Permission denied)