Android - 检查 PDF 文件是不是存在

Posted

技术标签:

【中文标题】Android - 检查 PDF 文件是不是存在【英文标题】: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 确实存在。

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

谢谢!

【问题讨论】:

不,应用程序不能强制关闭。如果您正确处理下载文件的异常。 非常感谢。明天试试看;) 【参考方案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 吗? 是的,看看这个 SO 问题Java check if file exists on remote server using its url 并从服务器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。

【讨论】:

以上是关于Android - 检查 PDF 文件是不是存在的主要内容,如果未能解决你的问题,请参考以下文章

如何仅使用 (*.pdf) 之类的扩展名检查 php 中是不是存在文件

如何检查是不是不存在其他文件[重复]

如何检查文件是不是存在,那么创建新文件的过程是啥? [复制]

Android:打开现有 PDF 文件检查并填写复选框字段,然后保存文档的新版本

如何检查文件是不是存在于android设备的特定文件夹中

Android 使用其 URL 检查文件是不是存在于远程服务器中