指点成金-最美分享吧

登录

android 判断一个文件是不是存在

佚名 举报

篇首语:本文由小编为大家整理,主要介绍了android 判断一个文件是不是存在相关的知识,希望对你有一定的参考价值。

我在代码里面用File f = new File("/storage/sdcard0/Manual/test.pdf");
if(f.existes())
returen true;
else
return false;
为什么始终返回的是false,那个文件夹下面是有这个文件的,请大侠们解救,谢谢!!!

sd卡目录请不要直接使用/storage/sdcard0/,你这样试试
String SDPATH = Environment.getExternalStorageDirectory().getPath() + "//";
File f = new File(SDPATH +"/Manual/test.pdf")
另外你是不是忘记加权限了android:name="android.permission.READ_EXTERNAL_STORAGE" />
参考技术A sdcard0是闪存空间,不是SD
Environment.getExternalStorageDirectory().getPath()
参考技术B public boolean fileIsExists()
try
File f=new File("/storage/sdcard0/Manual/test.pdf");
if(!f.exists())
return false;


catch (Exception e)
// TODO: handle exception
return false;

return true;
本回答被提问者和网友采纳
参考技术C 路径写对了么,/mnt/sdcard/加上试试追问

换成/mnt/sdcard/可以判断这个sdcard存在,但是sdcard里面的文件或者文件夹去判断始终是false

追答

你用IsEmpty吧,这个是判断这个文件夹下是不是空的

shell判断文件是不是存在

test -e filename
返回0则存在,返回1则不存在。
或者
if [ -e $filename ]
空格很关键,注意哦。

判断文件的参数如下,本人自己整理的。
-e 文件存在
-f file 是一个 regular 文件(不是目录或者设备文件)
-s 文件长度不为 0
-d 文件是个目录
-b 文件是个块设备(软盘,cdrom 等等)
-c 文件是个字符设备(键盘,modem,声卡等等)
-p 文件是个管道
-h 文件是个符号链接
-L 文件是个符号链接
-S 文件是个 socket
-t 关联到一个终端设备的文件描述符 这个选项一般都用来检测是否在一个给定脚本中的 stdin[-t0]或[-t1]是一个终端
-r 文件具有读权限(对于用户运行这个 test)
-w 文件具有写权限(对于用户运行这个 test)
-x 文件具有执行权限(对于用户运行这个 test)
参考技术A 你用命令
man [
看看帮助就知道了
[ -f filename] && echo "ok" || echo "ko"

以上是关于android 判断一个文件是不是存在的主要内容,如果未能解决你的问题,请参考以下文章