【FAQ问题记录】创建文件夹时报错java.io.FileNotFoundException:(系统找不到指定的路径。)

 

在上传文件时,要保存到指定目录下,需要创建文件夹,系统报错如下:

严重: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception
java.io.FileNotFoundException: G:\imooc-video-dev\181130B8D8W2RZTC\face\wx4bbcf43ad291af30.o6zAJs-zKILn2bkbA5rB9Tt0zios.H8pujQaHIdPv187fb9b352dece94f6d9218fc3ecca42.png (系统找不到指定的路径。)
	at java.io.FileOutputStream.open(Native Method)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:206)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:156)
	at com.imooc.controller.UserController.uploadFace(UserController.java:60)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	

看到报错就知道是我在创建文件夹时,报错了。代码如下:

   File outFile = new File(finalFacePath);
                  //判断outFile文件的父类文件不为null ,并且不是文件夹
                  if (outFile.getParentFile() !=null ||  !outFile.getParentFile().isDirectory()) {
                      //创建父文件夹
                      outFile.getParentFile().mkdir();
                  }

原因是因为mkdir()方法,只有在父类文件夹存在的情况下,才会创建文件夹。

这里改为mkdirs() 方法,如果父类文件夹不存在,就会自动创建,如果存在,就会创建子文件夹。并创建路径上的文件夹。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值