如何使用完整路径检索文件内容?

时间:2011-12-23 07:10:44

标签: android download filenotfoundexception

在Android网页视图中,您可以传递类似file:///android_asset/myfile.txt或此http://www.mysite.com/t.html的内容,它会毫无问题地得到它。现在,如果我在阅读器“FileReader”中尝试使用文件前缀的第一个url,它将抛出找不到文件的异常,尽管在WebView中它没有问题(为什么?)

我想要的是创建一个可以获取文件或http url的函数,并使用完整路径“file:/// ...”获取内容html如何在不面对未找到文件的情况下执行此操作?

1 个答案:

答案 0 :(得分:0)

  

现在,如果我在阅读器“FileReader”中尝试使用文件前缀的第一个url,它将抛出一个异常,即找不到文件,尽管在WebView中它没有问题(为什么?)

因为“文件阅读器”可能没有名为/myfile.txt的资产。 “文件阅读器”是别人的程序,而不是你的程序,所以file:///android_asset/myfile.txt指的是其他程序中的资产,而不是你的程序。

  

我想要的是创建一个可以获取文件或http url的函数,并使用完整路径“file:/// ...”获取内容html如何在不面对未找到文件的情况下执行此操作?

在您的应用中有一个名为/myfile.txt的资产。

我没有尝试使用标准Java I / O(例如File个对象)来读取file:///android_asset路径。那可能有用。如果没有,请使用startsWith()确定字符串是否以file:///android_asset开头 - 如果是,请将其修剪掉,并将其余内容与AssetManager一起使用以阅读资产。