java.io.IOException: permiso denegado en la carpeta de red

Tengo el error de título de la publicación cuando intento escribir un archivo en una carpeta de ventana, montado en un sistema Unix. Desarrollé un servicio web que se ejecuta dentro de un Tomcat 6 en un sistema operativo Linux y necesito escribir en una carpeta de red de Windows. Los administradores del sistema lo han montado en el servidor Linux y no tienen problemas para crear y modificar un archivo en él. Cuando intento ejecutar el código publicado, aparece la siguiente excepción:

Permiso denegado java.io.IOException: Permiso denegado en java.io.UnixFileSystem.createFileExclusively (Método nativo) en java.io.File.createNewFile (File.java:850)

Lo extraño es que parece estar relacionado con el método File.createNewFile en una carpeta de red, de hecho, el servicio puede escribir en el sistema de archivos local sin problemas, tanto en la depuración (la PC que uso para desarrollar el servicio) como en un tomcat Los administradores del sistema de carpetas me han proporcionado en el servidor Linux. El archivo se crea pero está vacío y la entrada de registro que sigue al método de creación no se imprime. Además, si uso un flujo de salida simple para crear y escribir el archivo, no tengo problemas.

No puedo encontrar ninguna explicación sobre la excepción en la web. Como no tengo mucha experiencia con Java, me gustaría entender por qué recibo este error. ¿Lo estoy usando de manera incorrecta? ¿Es un error de la biblioteca? ¿Echo de menos pasar algún parámetro? Como se indicó, he resuelto el problema utilizando un flujo de salida simple, esta es una pregunta para mejorar mi comprensión de 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)); 

gracias de antemano por cualquier respuesta

Respuestas a la pregunta(3)

Su respuesta a la pregunta