我想要uri文件类型的真实路径任何,我有一个图像文件的代码,但它不适用于我想要的。
我想要的文件是CSV文件:
private fun getRealPathFromURI(contentURI: Uri, context: Context): String {
val result: String
val cursor = context.contentResolver.query(contentURI, null, null, null, null)
if (cursor == null) { // Source is Dropbox or other similar local file path
result = contentURI.path
} else {
cursor.moveToFirst()
val idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA)
result = cursor.getString(idx)
cursor.close()
}
return result
}
修改 解决:
//On recupere le chemin du fichier ou manuellement ou par un picker
val path = data.data
//On ouvre le fichier du chemin
val `is` = context.contentResolver.openInputStream(path)
//Puis on le lis
val reader = BufferedReader(InputStreamReader(`is`))
答案 0 :(得分:1)
public String getRealPathFromURI(Context context, Uri contentUri) {
String[] proj = {MediaStore.Images.Media.DATA};
CursorLoader loader = new CursorLoader(context, contentUri, proj, null, null, null);
Cursor cursor = loader.loadInBackground();
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String result = cursor.getString(column_index);
cursor.close();
return result;
}