java 文件明明存在,确显示不存在。

傻瓜不傻108 发布于 2018/04/10 16:23
阅读 2K+
收藏 1

求大神帮忙

win10,java8

首先文件确定存在

 

这是测试代码

 

 

这是测试结果 

 

这是为什么,求大神帮忙

加载中
0
OSC_CLxWPf
OSC_CLxWPf
test,text,text
0
OSC_CLxWPf
傻瓜不傻108
没了就一个。文件后缀是打开的
0
loyal
loyal

权限问题.

loyal
loyal
回复 @傻瓜不傻108 : 你对比的方式不对.win7开始磁盘根的直接放东西都需要权限.
傻瓜不傻108
我也感觉可能是这块的问题。但是我对比了第一个文件也都是一样的呢
0
罗祥
罗祥

代码没毛病。

0
风青山
风青山
到命令行cmd里面ls一下
史蒂芬孙d
史蒂芬孙d
回复 @仓水 : keyi
傻瓜不傻108
-a---- 2018/4/10 14:26 3 test.txt
风青山
风青山
回复 @仓水 : 好吧,是dir命令来着
仓水
仓水
cmd里边ls?
0
叶落花开
叶落花开

大兄弟  你是不是隐藏了文件后缀名啊   所以这个文件名本应该是test.txt.txt 呢?我猜的....

我几乎差不多大概100%确定就是这个原因!!!

傻瓜不傻108
没有,上面图中也显示了我是打开后缀的呢。而且第一个文件也是成功的。
0
追风逐浪
追风逐浪
设置一下文件的,显示文件后缀名
傻瓜不傻108
已经显示的
0
红薯官方
红薯官方

for(File f = new File("d:/").listFiles()) {

    System.out.println("文件:" + f.getName());

}

 

用列出文件的API去验证一下,估计可能是没有权限的原因。

傻瓜不傻108
这种是能获取到文件名的。
0
红薯官方
红薯官方

引用来自“蓝水晶飞机”的评论

for(File f = new File("d:/").listFiles()) {

    System.out.println("文件:" + f.getName());

}

 

用列出文件的API去验证一下,估计可能是没有权限的原因。

 

for(File f = new File("d:/").listFiles()) {

    System.out.println("文件:" + f.getName() + "\texists:" + f.exists()); 

}

傻瓜不傻108
这样是确实是存在的。
0
whaon
whaon

用流读取下内容看

whaon
whaon
回复 @傻瓜不傻108 : 那应该是你文件损坏了,直接删除那个文件,再新建个
傻瓜不傻108
直接报找不到文件了
傻瓜不傻108
java.io.FileNotFoundException: ‪D:\test.txt (文件名、目录名或卷标语法不正确。)
返回顶部
顶部