2 回答

TA貢獻1828條經驗 獲得超3個贊
將此添加到清單文件
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
然后在運行時請求權限,如下所示
// Check whether this app has write external storage permission or not.
int writeExternalStoragePermission = ContextCompat.checkSelfPermission(ExternalStorageActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
// If do not grant write external storage permission.
if(writeExternalStoragePermission!= PackageManager.PERMISSION_GRANTED)
{
// Request user to grant write external storage permission.
ActivityCompat.requestPermissions(ExternalStorageActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE_WRITE_EXTERNAL_STORAGE_PERMISSION);
}
您需要在與任何外部讀取、寫入過程交互之前執行這些代碼。

TA貢獻1793條經驗 獲得超6個贊
我在這里找到了解決方案。
問題是我想使用以下代碼讀取文件:
File file = new File(intent.getData().getPath());
BufferedReader br = new BufferedReader(new FileReader(file));
相反,我應該使用這個:
InputStream is = getContentResolver().openInputStream(intent.getData());
BufferedReader br = new BufferedReader(new InputStreamReader(is));
添加回答
舉報