黑马程序员技术交流社区

标题: 列出c盘目录下文件为什么会报异常 [打印本页]

作者: 戒风    时间: 2014-8-8 19:20
标题: 列出c盘目录下文件为什么会报异常
求大神解惑
作者: ysdolls    时间: 2014-8-8 19:42
可能是因为 隐藏文件
作者: 戒风    时间: 2014-8-8 20:17
ysdolls 发表于 2014-8-8 19:42
可能是因为 隐藏文件

不是的,如果是c://01    即使01文件夹下有隐藏文件夹和空文件夹都不报异常的
作者: icris    时间: 2014-8-8 21:04
没有查看权限的隐藏文件
作者: 继续悲伤    时间: 2014-8-8 21:59
可能是文件的访问权限问题导致的!
作者: 黎志勇    时间: 2014-8-8 22:04
File[] files = file.listFiles();
遍历files之前,先判断一下files是否为null,因为某些文件夹比较特殊,无法获得该文件夹下的文件列表。
作者: 莫忘本心    时间: 2014-8-8 23:26
C盘有的文件 没权限看不了的
作者: paozhuanyinyu    时间: 2014-8-8 23:34
去其他盘符试试,如果没问题就是C盘很多文件需要访问权限
作者: 戒风    时间: 2014-8-9 05:42
icris 发表于 2014-8-8 21:04
没有查看权限的隐藏文件

那应该怎么改?
作者: 戒风    时间: 2014-8-9 05:45
paozhuanyinyu 发表于 2014-8-8 23:34
去其他盘符试试,如果没问题就是C盘很多文件需要访问权限

d,e,f都报了异常,空指针异常
作者: icris    时间: 2014-8-9 06:01
戒风 发表于 2014-8-9 05:42
那应该怎么改?

我以前遍历C盘就不行,有一个文件夹拒绝访问,复制下来去资源管理器进不去,管理员权限的powershell也进不去,就放弃了换D盘了
D盘要是没装过系统也报异常那可能是程序写得有问题…
作者: 戒风    时间: 2014-8-9 07:52
icris 发表于 2014-8-9 06:01
我以前遍历C盘就不行,有一个文件夹拒绝访问,复制下来去资源管理器进不去,管理员权限的powershell也进 ...

开始我也怀疑是自己弄错了,后来照着毕老师视频程序改的,一模一样的,
作者: 怀念黑海岸    时间: 2014-8-9 10:32
java中是不允许操作隐藏的文件夹的,因次保证了java的安全性,而很多系统关键文件是隐藏的,所以就是基于这个原因吧。
作者: 戒风    时间: 2014-8-9 13:37
怀念黑海岸 发表于 2014-8-9 10:32
java中是不允许操作隐藏的文件夹的,因次保证了java的安全性,而很多系统关键文件是隐藏的,所以就是基于这 ...

好像只能这么解释了,代码没改,我把def盘整理了一下 ,不报异常了,就剩c盘的一些文件动不了,还报异常
作者: 思维    时间: 2014-8-9 14:26
c盘中有系统保护的,我也一直没成功
作者: 曾宇    时间: 2014-8-9 16:50
本帖最后由 曾宇 于 2014-8-9 16:52 编辑

因为有些文件禁止访问,没有权限。
这样listFiles()返回了一个null。
如果用null去访问方法,最后空指针异常。
提示,部分隐藏文件是可以访问的。
并不是所有隐藏文件都无法访问,所以可以用来查找某些人隐藏起来的小电影啦。

作者: F@C    时间: 2014-8-9 18:42
进来学习
作者: 晓风    时间: 2014-8-9 21:31
可能是隐藏文件,或者是不可访问文件
作者: bfl625    时间: 2014-8-9 21:36
权限吧?
作者: 柀堓椛開    时间: 2014-8-9 22:41
有隐藏文件或者 权限高的文件  
作者: 王凯路路    时间: 2014-8-10 23:09
因为有隐藏文件吧, 判断一下, 如果是隐藏文件, 就跳过不读




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2