從文件資源管理器中選擇的.txt文件的真實路徑我正在開發一個應用程序,在這個應用程序中,我希望能夠在.txt文件上從應用程序導出和導入一些數據。應用程序的最小API為21。出口部分運行良好,但我對進口部分有困難。我打開文件資源管理器:butImportPatient.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_OPEN_DOCUMENT);
intent.setType("*/*");
startActivityForResult(intent, IMPORTPATIENT_ACTIVITY_REQUEST_CODE);
}});這看起來很管用。但是我的onActivityResult沒有工作,我沒有找到如何從URI中獲取文件?,F在,這是我的代碼:@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == IMPORTPATIENT_ACTIVITY_REQUEST_CODE && resultCode == RESULT_OK) {
File file = new File(data.getData().getPath()) ;
String path = file.getAbsolutePath() ;
StringBuilder text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(path));
String line;
while ((line = br.readLine()) != null) {
text.append(line);
text.append("\n");
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
AlertDialog.Builder builder = new AlertDialog.Builder(this) ;
builder.setMessage(path)
.show() ;
}
}這是我在這里看到的多個帖子的組合,但似乎都沒有效果。我知道這條路:/document/home:List.txt它創建FileNotFoundException。如何獲得文件的真正路徑?
1 回答

江戶川亂折騰
TA貢獻1851條經驗 獲得超5個贊
我沒有找到如何從URI中獲取文件。
ACTION_OPEN_DOCUMENT
ACTION_GET_CONTENT
Uri
外部存儲的本地文件 另一個應用程序內部存儲的本地文件 可移動存儲的本地文件 加密并需要動態解密的本地文件。 中保存的字節流。 BLOB
數據庫中的列 一段需要先由另一應用程序下載的內容 .等等
如何獲得文件的真正路徑?
ACTION_OPEN_DOCUMENT
ACTION_GET_CONTENT
ACTION_GET_CONTENT
Uri
file
getPath()
ContentResolver
openInputStream()
添加回答
舉報
0/150
提交
取消