我尝试使用以下代码从内部存储中的文件读取内容:
public String read_file(Context context, String filename) {
try {
FileInputStream fis = context.openFileInput(filename);
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(isr);
StringBuilder sb = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
sb.append(line).append("\n");
}
return sb.toString();
} catch (FileNotFoundException e) {
return "";
} catch (UnsupportedEncodingException e) {
return "";
} catch (IOException e) {
return "";
}
}
//文件名是“ et1.txt”
,但返回“”。 我也尝试使用:
File fileDirectory = new File(Environment.getExternalStorageDirectory()+"/Vara2/"+"et1"+".txt");
File[]files=fileDirectory.listFiles();
String string=files[0].toString();
但是文件数组长度为空。
我在清单文件中具有读取和写入外部存储的权限,并且在我的活动中称为“请求权限”。 我的观点是错误正在发生。我的文件“ et1.txt”位于内部存储中,但位于文件夹“ Vara2”中,因此,我想访问该文件夹是个问题。 谢谢大家!