Estoy ejecutando Windows y estoy tratando de referirme a un directorio. Mi función comienza así:¿Cómo me refiero a un directorio en Java?
File file = new File("C:\\somedir\\report");
if (!file.exists()) {
file.mkdirs();
}
doStuffWith(file);
que tiene una NullPointerException dentro de la función doStuffWith
, cuando traté de llamar listFiles
. Bueno, miré en C: \ somedir y qué encontré - hay un archivo llamado "informe" sin extensión, y también un directorio llamado "informe"! Lo que parecía suceder era que el objeto file
se estaba refiriendo al archivo de informe en lugar del directorio . ¿Cómo me aseguro de que me estoy refiriendo al directorio y no al archivo?
¿Has probado File file = new File ("C: \\ somedir \\ report \\"); (tenga en cuenta las barras al final). No tengo idea de si eso funciona, pero vale la pena construirlo y probarlo rápidamente. – Paolo
¿Qué tipo de sistema operativo permite esto de todos modos? Tenía la impresión de que Windows no permite esto. ¿Es posible que su directorio tenga algunos caracteres invisibles en el nombre (un espacio, por ejemplo)? –
Acabo de intentar crear una carpeta llamada "Carpeta" y un archivo sin extensión llamado "Carpeta" y Windows se quejó de ello. Estoy ejecutando Windows XP SP3 de 32 bits. –