【问题标题】:Android - Check if PDF-file existsAndroid - 检查 PDF 文件是否存在
【发布时间】:2012-08-09 02:34:29
【问题描述】:

我想检查一个 pdf 文件(这个:http://www.augustinianum.eu/roosterwijzigingen/14062012.pdf) 我试过这个:

File fileTest = new File("http://www.augustinianum.eu/roosterwijzigingen/14062012.pdf");
 if(fileTest.exists()){
     //DO STUFF
 }

但它不执行 if 块。这怎么可能? PDF 确实存在。

这可能是一个简单的问题,但我不知道如何解决它。

谢谢!

【问题讨论】:

  • 不,应用程序不能强制关闭。如果您正确处理下载文件的异常。
  • 非常感谢。明天试试看;)

标签: java android eclipse pdf exists


【解决方案1】:

其实文件的URL是给服务器你不能访问的File这样的,

为此你必须先在安卓设备上下载这个文件,然后使用File安卓类你可以检查它的存在。

示例:

假设您使用 HttpPostURLConnection 从此 URL 下载了 sdcard 上的文件,

然后

File fileTest = new File("/mnt/sdcard/14062012.pdf"); //Virtually path of your pdf file after download
 if(fileTest.exists()){
     //DO STUFF
 }

现在你的if 块将被执行..

【讨论】:

  • 嗯,没有其他方法可以检查网络上是否存在 pdf 吗?
  • 并从服务器helloandroid.com/tutorials/…下载文件
  • 但我不明白的是:developer.android.com 说有一个构造方法是File(URI uri),但是当我以这种方式创建一个URI URI uriTest = new URI("http://www.augustinianum.eu/roosterwijzigingen/14062012.pdf"); 并创建一个文件时方式File fileTest = new File(uriTest); 我逼近了。这是为什么呢?
  • 它是为Uri 而不是URL。实际上,构造函数File(Uri) 是针对其他应用程序的指定资源uri。看developer.android.com/reference/java/io/…
【解决方案2】:

我认为您不能使用 File 类直接访问这样的文件。

您可能需要考虑为此目的使用HTTPURLConnection API。

【讨论】:

    猜你喜欢
    • 2015-11-10
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    • 2021-12-25
    相关资源
    最近更新 更多