【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() 方法,如果父类文件夹不存在,就会自动创建,如果存在,就会创建子文件夹。并创建路径上的文件夹。

猜你喜欢

转载自blog.csdn.net/taojin12/article/details/84871211
今日推荐