Permiso denegado: creación de archivos en Java

Después de compilar el siguiente código en Eclipse usando una Mac:

    import java.io.*;

    public class Filer{
        public static void main(String[] args) throws IOException{

        File f1;

        f1 = new File("/System/file.txt");

        if(!f1.exists()){
            f1.createNewFile();

        }
      }
    }

Me sale un error:

    Exception in thread "main" java.io.IOException: Permission denied
        at java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.io.File.createNewFile(File.java:883)
        at Filer.main(Filer.java:11)

¿Alguien puede decirme por qué es eso? ¿Hay alguna forma de cambiar los permisos? Y si tuviera que compilar esto como un archivo .jar y enviárselo a alguien, ¿esa persona tendría los permisos correctos?

Respuesta 1

¿Alguien puede decirme por qué es eso?

Su usuario no tiene permiso para crear un archivo en ese directorio.

¿Hay alguna forma de cambiar los permisos?

De la misma manera que cambiaría los permisos de cualquier directorio.

En Java 7+

Files.setPosixFilePermisions(f1.toPath(), 
    EnumSet.of(OWNER_READ, OWNER_WRITE, OWNER_EXECUTE, GROUP_READ, GROUP_EXECUTE));

Y si tuviera que compilar esto como un archivo .jar y enviárselo a alguien, ¿esa persona tendría los permisos correctos?

Sospecho que los permisos correctos para un directorio llamado /Systemes que NO tiene acceso de escritura.

¿Hay alguna razón para no usar el directorio de inicio o el directorio de trabajo actual?

Respuesta: 2

Estoy buscando una buena herramienta para escribir pruebas de regresión para nuestra GUI Java Swing. Encontré jemmy2 y estoy realmente satisfecho con él. Sin embargo, hay un pequeño inconveniente: como muestran los ejemplos jemmy, yo ...

Gracias por su atención. He creado un programa que estoy usando un formulario de inicio de sesión y un formulario de registro. Una vez que los usuarios registren su correo electrónico y su contraseña se guardará en submit.txt. Entonces ellos ...

Necesito su ayuda sobre JAVA RMI, desarrollé un programa de muestra utilizado para ordenar la tabla. pero obtuve esta excepción: Erreur RemoteException ocurrió en el hilo del servidor; La excepción anidada es: java.rmi ....

Tengo una aplicación web que usa hibernate 3.6.4 y spring 3.2.4 (mvc, tx y seguridad) y se ejecuta en tomcat 7. Cada vez que implemento una versión más nueva de mi aplicación sin reiniciar tomcat, entonces ...