在我的代码中,您可以导入或导出csv文件。导出函数运行良好,为了创建文件,我将其用于路径:
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
它返回以下路径: /storage/emulated/0/Download/File.CSV
在我的导入功能中,我使用createchooser获取文件资源管理器来查找要导入的文件。如果我选择相同的文件并使用以下代码请求路径:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case REQUEST_FILE_CODE:
if (resultCode == RESULT_OK) {
Uri uriFile = data.getData();
Log.v("testimport", uriFile.getPath());
File fileToImport = new File(uriFile.getPath());
BufferedReader reader = new BufferedReader(new FileReader(fileToImport));
我通过以下路径收到文件未找到错误: /document/primary:Download/StudyMemory/File.csv
为什么我会获得两条不同的路径?如何从文件浏览器获取uri的绝对路径? 提前谢谢。
答案 0 :(得分:1)
第一个路径是文件系统路径。第二个是内容提供者路径。
当您想要阅读文件时,最好打开一个输入流,如
$con->prepare("SELECT*FROM quiz WHERE level IN (1,2,3,4,5.....10) limit 0,10");
并为您的读者使用该流。