Quiero comprobar si un String determinado es un archivo o un directorio, he intentado con los métodos isFile() y isDirectory() de la clase File pero el problema es que si el directorio o archivo no existe estos métodos devuelve falso, ya que como se indica en el javadoc:Java isFile(), isDirectory() sin verificar la existencia
isFile():
verdadero si y sólo si el archivo denotado por este resumen ruta de acceso existe y es un archivo normal; falso en caso contrario
isDirectory():
verdadero si y sólo si el fichero denotado por esta vía de acceso abstracta existe y es un directorio; falso en caso contrario
Básicamente necesito dos métodos sin la cláusula existen ...
así que quiero probar si la cadena dada cumple con un formato de directorio o cumple con un formato de archivo, en una multiplataforma contexto (por lo tanto, debería funcionar en Windows, Linux y Mac Os X).
¿Existe alguna biblioteca que proporcione estos métodos? ¿Cuál podría ser la mejor implementación de estos métodos?
ACTUALIZACIÓN
En el caso de una cadena que podría ser a la vez (sin extensión) de forma predeterminada debe ser identificado como directorio, si no existe un archivo con ese camino.
Apache commons.io podría ayudarlo. Tal vez usando FileUtils.sizeof() o algo así ... – Alfabravo
¿Cómo sabrá Java si un nombre de ruta que apunta a algo que no existe es un archivo o un directorio si no hay nada allí? No hay un formato de ruta para determinar si algo es un archivo o directorio en todos los sistemas operativos. –
Lo que desea no es posible, no hay diferencia entre un archivo y un directorio a menos que realmente exista en el sistema de archivos (y tiene los atributos necesarios que proporciona el sistema operativo) Las extensiones y cosas por el estilo podrían ser solo suposiciones. Nota al margen: la extensión tampoco existe hoy en día, es un artefacto viejo y antiguo que proviene de DOS. – bestsss