Java buenas prácticas: obtener la extensión de un fichero


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.

      publicstatic 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.

      publicstatic String getExtensionFile(String filename) {

            File f = new File(filename);

            if (f == null || f.isDirectory()){

                  return“nulo o directorio”;

            }elseif (f.isFile()){

                  int index = filename.lastIndexOf(‘.’);

                  if (index == -1) {

                        return“”;

                  } else {

                        return filename.substring(index + 1);

                  }

            }else{

                  return“que has enviado?”;

           }

      }    

Antes de que a alguien le reviente la vena al ver el método, se que este método es optimizable, soy consciente, pero se trata de no darlo todo hecho, sino las ideas. Está desordenado, mejóralo y úsalo.

Comparte tu opinión

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s