你确定有这个文件吗?为什么我试了下都是可以的啊,是不是你的编码有问题不支持中文的啊
成都创新互联坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。10年网站建设经验成都创新互联是成都老牌网站营销服务商,为您提供成都做网站、网站建设、网站设计、H5响应式网站、网站制作、品牌网站设计、小程序制作服务,给众多知名企业提供过好品质的建站服务。
你换个英文的文件名称试试可以不可以。看是不是中文编码的问题。如果是的 你是是修改下属性
filename = new String(filename.getBytes("GBK"), "iso8859-1");//文件名要转一下编码。
再试试 希望能帮到你!
我运行了一下类似代码:
public
static
void
main(String[]
args)
throws
Exception
{
File
file1=
new
File("E:/技术文档/Java系列/8_常用文档");
File
fileName[]=file1.listFiles();
for(File
f
:
fileName){
System.out.println(f.getName());
}
}
一切正常。说明你给出的这段代码应该是没什么问题。剩下的可能就是:
1.
文件夹是否有特殊权限限制?
2.
其他代码出了问题。
就是路径的问题,不一样是因为编译时处理成虚拟机认识的。文件根本没读取成功,要么没这文件要么路径写的有问题。
其他贴子都是常规的路径问题,如果解决不了,可以参考我的回答;
答案是这样的:你的路径是复制属性-安全-对象名称的路径;这是有问题的;你可以试一下,打开cmd把路径复制上去会发现根目录前有不知道啥的乱码;
所以:手写路径。
希望对后来的兄弟有帮助。