1

我正在尝试在我的 Java 项目根目录中动态创建一些文件。但是当我运行代码时出现以下错误。

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();
            }
        }   
    }
4

2 回答 2

1

这是因为您似乎正在尝试在此处打开和读取目​​录。正如您所说,您的文件没有指定任何扩展名,因此 java 将其作为目录。使用isFile()方法在打开之前检查文件。您可以使用listFiles()方法获取目录的文件。

于 2013-07-01T08:37:35.977 回答
0

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

于 2013-07-01T08:42:54.423 回答