阅读下载的文本文件-安卓系统



所以我的程序是这样工作的:它从dropbox中下载一个.txt文件,并将其保存到下载目录中。

Uri uri = Uri.parse(file);
DownloadManager.Request r = new DownloadManager.Request(uri);
// This put the download in the same Download dir the browser uses
r.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "upload");
r.allowScanningByMediaScanner();
// Start download
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
dm.enqueue(r);

代码运行良好,它下载了名为upload.txt的文件。所以现在我想读一下。我一直在寻找一些代码,但似乎什么都不起作用
这是我当前的代码,它抛出一个FileNotFoundException,但文件位于那里
有什么建议吗?

String text="";
    FileInputStream Fin=new FileInputStream(Environment.DIRECTORY_DOWNLOADS+"upload");
    byte[] b=new byte[100];
    Fin.read(b);
    text=new String(b);
    Fin.close();

Ofc我试过放"upload.txt",甚至"/upload"one_answers"/upload.txt",但仍然没有
如果有人能给我读文本文件的代码,那就太棒了,或者如果有人给我一个代码,可以从html网站获得源代码(没有JSOUP和其他解析器,我已经尝试过了,我想实现我自己的解析器)。谢谢

更改

FileInputStream Fin=new FileInputStream(Environment.DIRECTORY_DOWNLOADS+"upload");

FileInputStream Fin=new FileInputStream(new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "upload"));

您应该使用Environment.getExternalStoragePublicDirectory来获取路径。


或者如果你喜欢更多,

FileInputStream Fin=new FileInputStream(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/upload");

更改

r.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "upload");

也有

r.setDestinationInExternalPublicDir(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "upload");

我花了很长时间,但最终:您应该在清单中添加各种权限(android.permission.READ_EXTERNAL_STORAGE…)

但这还不够!您应该在onCreate():中明确请求这些权限

requestPermissions({android.permission.READ_EXTERNAL_STORAGE,…},200);

只有在之后,您才能访问这些目录。

相关内容

  • 没有找到相关文章

最新更新