Obtener extensión de fichero, en muchos casos en interesante
obtener la extensión de un fichero con el que estamos trabajando en Java, para
lo que vamos a proponer dos aproximaciones, la primera es la más habitual,
consiste en obtener la extensión en base al nombre del fichero, o de la ruta completa, devolviendo un texto
vacio si no se encuentra el punto que separa la extensión.
public static String
getExtension(String filename) {
int index =
filename.lastIndexOf('.');
if (index == -1) {
return "";
} else {
return
filename.substring(index + 1);
}
}
Ahora una segunda opción, en la que presentamos como hacer
esta búsqueda, pero evitando que ocurran errores de retorno, porque se envíen directorios
en vez de ficheros completos, por
ejemplo si enviásemos c:\\hola.hola\\ y eso es el nombre de una carpeta, el
primer método nos devolvería el hola, como si fuera la extensión del fichero,
el segundo detectaría que no es un fichero, sino un directorio, y nos
devolvería dentro del primer if. Podríamos ampliar el control, a un segundo if,
que pregunte, si lo que nos han enviado es un fichero y si no es ni un
directorio, ni un fichero, que se supone que han enviado a la consulta.
public static String
getExtensionFile(String filename) {
File f = new File(filename);
if (f == null ||
f.isDirectory()){
return "nulo o directorio";
}else if (f.isFile()){
int index =
filename.lastIndexOf('.');
if (index == -1) {
return "";
} else {
return
filename.substring(index + 1);
}
}else{
return "que has
enviado?";
}
}
No hay comentarios:
Publicar un comentario