java.io.IOException: Permission denied on network folder

У меня ошибка заголовка сообщения при попытке записать файл в папку окна, смонтированную на unix система. Я разработал веб-сервис, который работает внутри Tomcat 6 на ОС Linux и должен писать в сетевой папке Windows. Когда я пытаюсь выполнить опубликованный код, я получаю следующее исключение:

Permission denied java.io.IOException: в разрешении отказано в java.io.UnixFileSystem.createFileExclusively (собственный метод) at java.io.File.createNewFile (File.java:850)

Странно то, что он, кажется, связан с методом File.createNewFile в сетевой папке, на самом деле служба может писать в локальной файловой системе без проблемы, как при отладке (компьютер, который я использую для разработки службы), так и системные администраторы папки tomcat предоставили мне на сервере Linux. Файл создается, но остается пустым, и запись журнала, следующая за методом create, не печатается. Более того, если я использую простой поток вывода для создания и записи файла, у меня нет проблем.

Я не могу найти никаких объяснений по поводу исключения в сети. Поскольку я не очень разбираюсь в java, я хотел бы понять, почему я получаю эту ошибку. Я неправильно его использую? Это ошибка библиотеки? Могу ли я пропустить какой-то параметр? Как уже говорилось, я решил проблему, используя простой выходной поток, это вопрос, чтобы улучшить мое понимание java.

FileOutputStream fos = null; 
try{ 

   log.info(String.format("file length: %s",streamAttach.length)); 
   log.info(String.format("check File : %s",filename)); 
   File f = new File(filename); 
   if(f.exists()) 
    ...                        

   boolean done= f.createNewFile();//here comes the exception
   //nothing of the following happens 
   if(!done) 
       throw new NWSException("error creating file"); 
   log.info(String.format("file %s creato", nomeFile)); 

Заранее благодарю вас за любой ответ

5
задан 9 February 2011 в 11:16
поделиться