要在Android上通过文件浏览器访问和查看位置上读写文件,可以使用以下步骤和代码示例:
private static final int READ_REQUEST_CODE = 42; // 任意整数值
private void openFileExplorer() {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*"); // 这里可以指定特定的文件类型,如:image/*表示只显示图片文件
startActivityForResult(intent, READ_REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == READ_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
if (data != null) {
Uri uri = data.getData();
// 在这里可以访问和读取文件
readFile(uri);
}
}
}
private void readFile(Uri uri) {
try {
InputStream inputStream = getContentResolver().openInputStream(uri);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
stringBuilder.append(line).append("\n");
}
reader.close();
inputStream.close();
String fileContent = stringBuilder.toString();
// 在这里可以对文件内容进行处理
// ...
} catch (IOException e) {
e.printStackTrace();
}
}
private void writeFile(Uri uri, String content) {
try {
OutputStream outputStream = getContentResolver().openOutputStream(uri);
if (outputStream != null) {
outputStream.write(content.getBytes());
outputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
注意:以上代码示例仅涵盖了基本的读写操作,实际开发中可能还需要处理权限请求、异常处理等其他情况。