2013-07-01 3 views
1

Я пытаюсь создать некоторые файлы динамически в моем корневом проекте Java. но я получаю следующую ошибку при запуске кода.java.io.FileNotFoundException: (Access is denied)

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

Какой процесс пытается создать файл? Кот? –

+0

Попробуйте написать файл самостоятельно в этой папке. – Makky

+0

Это java-процесс, который пытается создать папку и файлы. –

ответ

1

Это потому, что вы пытаетесь открыть и прочитать каталог здесь. Ваш файл, как вы говорите, не имеет расширения, поэтому java принимает его как каталог. используйте метод isFile() для проверки файла перед открытием. Вы можете использовать метод listFiles() для получения файлов каталога.

0

Убедитесь, что path = path + "\\"; - это правильный путь. Если есть каталог, программа покажет вам Access is denied. Вы должны добавить некоторые проверки перед открытием файла, как if (l.isDirectory()).

Смежные вопросы