он находится в общей папке (\\ anetworkmachine \ myapp \ test), смонтированной как / mntnfs / myapp / test / на сервере linux. Я могу открывать, создавать и изменять файлы в папке Windows. Не знаю учетные данные для доступа к смонтированной папке

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

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

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

Я не могу найти какое-либо объяснение об исключении в Интернете. Так как я не очень опытен с 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)); 

заранее спасибо за любой ответ

Ответы на вопрос(3)

Ваш ответ на вопрос