在使用外部存储的时候,在AndroidManifest.xml文件中添加以下权限:
或者在运行时请求权限,以便在没有授予权限的情况下使用外部存储:
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {
Manifest.permission.READ_EXTERNAL_STORAGE
};
public static void verifyStoragePermissions(Activity activity) {
// 检查应用程序是否有权限读取外部存储
int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED) {
// 如果没有权限,则请求权限
ActivityCompat.requestPermissions(
activity,
PERMISSIONS_STORAGE,
REQUEST_EXTERNAL_STORAGE
);
}
}
在读取文本文件时,使用以下代码进行读取:
String filePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/test.txt";
File file = new File(filePath);
try {
FileInputStream fileInputStream = new FileInputStream(file);
BufferedReader reader = new BufferedReader(new InputStreamReader(fileInputStream));
StringBuilder stringBuilder = new StringBuilder();
String line = reader.readLine();
while (line != null) {
stringBuilder.append(line).append("\n");
line = reader.readLine();
}
fileInputStream.close();
reader.close();
String content = stringBuilder.toString();
} catch (IOException e) {
e.printStackTrace();
}
其中,Environment.getExternalStorageDirectory().getAbsolutePath()
获取外部存储的根目录,加上相对路径即可指定文件。