2013-07-01 113 views
1

我想在我的Java项目根目录中动态创建一些文件。但是当我运行代码时出现以下错误。java.io.FileNotFoundException:(访问被拒绝)

java.io.FileNotFoundException: D:\POS_ALL\T_POS_NEWEST\TouchPosApplication\WebContent\zharaimages\279 (Access is denied) 

是否有可能写入文件Java中的根项目文件夹?这里是使用的代码。

private void createImage(PosItemImageDTO imageDTO,String path) throws IOException { 
     byte[] bytes = imageDTO.getPosItemImage(); 
     path = path + "\\"; 
     if(bytes!=null && bytes.length>0){ 
      OutputStream out = null; 
      // BufferedImage img = ImageIO.read(new ByteArrayInputStream(bytes)); 
      File l = new File(path); 

      out = new BufferedOutputStream(new FileOutputStream(path)); 
      out.write(bytes); 

      if (out != null) { 
       out.close(); 
      } 
     } 
    } 
+0

什么过程试图创建该文件? Tomcat的? – 2013-07-01 08:36:58

+0

尝试自己在该文件夹中写入文件。 – Makky

+0

这是一个正在尝试创建文件夹和文件的java进程 –

回答

1

它,因为它好像你正试图打开并阅读这里的目录。你的文件就像你说的那样,没有指定任何扩展名,所以java把它作为一个目录。使用isFile()方法在打开之前检查文件。您可以使用listFiles()方法获取目录的文件。

0

请确保path = path + "\\";是正确的路径。如果有一个目录,程序会显示你Access is denied。您应该在打开文件之前添加一些检查,就像if (l.isDirectory())一样。