2012-07-02 12 views
10

En un programa Java, se crea un archivo con¿El archivo creado no tiene padre?

File temp = new File("temp"); 
temp.createNewFile(); 

Entonces, por alguna razón, cuando escribo

File pDir = temp.getParentFile(); 

y pdir es nulo. De hecho, quiero escribir

File pDir = temp.getParentFile().getParentFile(); 

pero eso arroja una excepción de puntero nulo.

+0

¿No se crean automáticamente en el directorio de trabajo? Crea el archivo allí, simplemente no devuelve ningún padre. – SSEMember

Respuesta

26

Necesita un archivo con una ruta para eso, intente getAbsoluteFile.

File pDir = temp.getAbsoluteFile().getParentFile(); 
+0

¡Gracias! Esto funcionó perfectamente. Lo aceptaré tan pronto como pueda. – SSEMember

0

Está creando un archivo llamado temp, pero no tiene ninguna ruta, por lo que no habrá una ruta principal. Si desea colocar el archivo en el directorio actual:

File temp = new File(System.getProperty("user.dir")+"/temp"); 
File parent = temp.getParentFile(); 
Cuestiones relacionadas