Cómo obtener la extensión del archivo

JavaJavaBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio paso a paso, aprenderemos cómo recuperar la extensión de un archivo en el lenguaje de programación Java. La extensión de un archivo indica su tipo, lo que nos ayuda a diferenciar entre varios tipos de archivos, como pdf, txt, doc, etc. Recuperar la extensión del archivo es importante al trabajar con archivos, ya que ayuda a garantizar que los archivos del tipo correcto se manipulen de la manera adecuada.

Crea un archivo Java

Crea un nuevo archivo Java con el siguiente comando:

touch ~/project/FileExtension.java

Define la clase Java

import java.io.IOException;

public class FileExtension {
    public static void main(String[] args) throws IOException {

    }
}

Define el método principal

En este paso, definiremos el método principal para aceptar un nombre de archivo del usuario y extraer su extensión.

import java.io.IOException;

public class FileExtension {
    public static void main(String[] args) throws IOException {
        if (args.length > 0) {
            String filename = args[0];
            int index = filename.lastIndexOf(".");
            if (index > 0) {
                String extension = filename.substring(index + 1);
                System.out.println("File extension: " + extension);
            } else {
                System.out.println("No file extension found");
            }
        } else {
            System.out.println("Please provide a filename");
        }
    }
}

En el bloque de código anterior, estamos comprobando si el usuario ha proporcionado un nombre de archivo. Si no se proporciona un nombre de archivo, se le pedirá al usuario que lo proporcione. Luego usamos el método lastIndexOf() para obtener el índice del último punto en el nombre de archivo, que marca el comienzo de la extensión. Si no se encuentra ningún punto en el nombre de archivo, significa que el archivo no tiene extensión. En ambos casos, informamos al usuario a través de la salida de la línea de comandos.

Compila el código Java

Para compilar el código Java, ejecuta el siguiente comando en la terminal:

javac ~/project/FileExtension.java

Ejecuta el programa Java

Para ejecutar el programa Java, ejecuta el siguiente comando:

java FileExtension filename.extension

donde 'filename.extension' es la ruta y el nombre de tu archivo del que quieres recuperar la extensión del archivo.

Prueba el programa Java

Vamos a probar el programa ejecutándolo varias veces con diferentes extensiones de archivo:

java FileExtension document.txt
java FileExtension image.png
java FileExtension music.mp3

Manejo de múltiples extensiones de archivo

Un archivo puede tener múltiples extensiones, separadas por puntos, como.tar.gz o.tar.bz2. En estos casos, podemos modificar el código del Paso 3 de la siguiente manera.

import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        if (args.length > 0) {
            String filename = args[0];
            int index = filename.indexOf(".");
            int lastIndex = filename.lastIndexOf(".");
            if (index > 0 && lastIndex > 0 && lastIndex > index) {
                String extension = filename.substring(lastIndex + 1);
                System.out.println("File Extension:." + extension);
            } else {
                System.out.println("No file extension found");
            }
        } else {
            System.out.println("Please provide a filename");
        }
    }
}

En el bloque de código anterior, primero estamos comprobando si el nombre de archivo tiene múltiples puntos para identificar múltiples extensiones. Si se encuentran múltiples puntos, extraemos la última extensión utilizando el método lastIndexOf() con un +1 adicional para eliminar el símbolo del punto.

Compila el código Java

Compila el código Java utilizando el siguiente comando en la terminal:

javac ~/project/FileExtension.java

Prueba el programa Java

Vamos a probar el programa ejecutándolo con múltiples extensiones de archivo de la siguiente manera:

java FileExtension document.pdf
java FileExtension image.png
java FileExtension music.mp3
java FileExtension archive.tar.gz

Resumen

En este laboratorio, aprendimos cómo recuperar la extensión de un archivo en el lenguaje de programación Java. Escribimos un programa Java que acepta un nombre de archivo del usuario y extrae su extensión para determinar su tipo. Demostramos cómo manejar archivos con múltiples extensiones utilizando los métodos indexOf() y lastIndexOf().