Chuleta Java: Excepciones, Archivos y Bases de Datos con JDBC

Inglés4,43 KB

Chuleta Java: Excepciones, Archivos y Bases de Datos

1. Ratio de imagen (evitar división por cero)

public static double calcula_ratio(int ancho, int alto) {
    try {
        return ancho / alto;
    } catch (ArithmeticException e) {
        System.out.println("Error en el alto de la imagen. Imagen corrupta o no válida.");
        return 0;
    }
}

2. Pedir número real (sin try-catch dentro)

public static double introduceCantidad() throws InputMismatchException {
    Scanner sc = new Scanner(System.in);
    return sc.nextDouble();
}

3. Validar extensión de imagen

public static void valida_imagen(String ruta) {
    if (ruta.endsWith(".jpg") || ruta.endsWith(".png") || ruta.endsWith(".gif")) {
        System.out.println("Imagen válida");
    } else {
        throw new UnsupportedOperationException("Formato de imagen no válido");
    }
}

4. Excepción personalizada: ExcepcionDias

public class ExcepcionDias extends Exception {
    public ExcepcionDias(String msg) { super(msg); }
}

public static void diasSemana(int dia) throws ExcepcionDias {
    if (dia < 1 || dia > 5)
        throw new ExcepcionDias("Día de la semana no válido");
}

5. Fusionar archivos binarios ordenados

Usa FileInputStream y FileOutputStream:

  • Leer los bytes en arrays.
  • Combinar con lógica tipo merge sort.
  • Escribir el orden final con FileOutputStream.

6. Mostrar información de archivo o directorio

public static void procesaRuta(String ruta) {
    File f = new File(ruta);
    if (f.isDirectory()) {
        for (String s : f.list()) System.out.println(s);
    } else {
        System.out.println("Tamaño: " + f.length());
        System.out.println("Padre: " + f.getParent());
    }
}

7. Leer alumnos aprobados (nota >= 5)

public static void leeAlumnosAprobados() throws SQLException {
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
    Statement st = con.createStatement();
    ResultSet rs = st.executeQuery("SELECT * FROM alumnos WHERE nota >= 5");
    while (rs.next()) System.out.println(rs.getString("nombre"));
}

Chuleta Java: Excepciones, Archivos y Bases de Datos (continuación)

8. Singleton BD: ConexionBaseDatos

public class ConexionBaseDatos {
    private static Connection con;
    public static Connection get() throws SQLException {
        if (con == null) con = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
        return con;
    }
}

9. DAO: AlumnoDAO básico

public class Alumno {
    int id; String nombre, apellido1, apellido2; float nota;
}

public class AlumnoDAO {
    public List<Alumno> leerAprobados(Connection con) throws SQLException {
        List<Alumno> lista = new ArrayList<>();
        PreparedStatement ps = con.prepareStatement("SELECT * FROM alumnos WHERE nota >= 5");
        ResultSet rs = ps.executeQuery();
        while (rs.next()) {
            Alumno a = new Alumno();
            a.nombre = rs.getString("nombre");
           a.nota = rs.getFloat("nota");
            lista.add(a);
        }
        return lista;
    }

    public int insertarAlumno(Connection con, Alumno a) throws SQLException {
        String sql = "INSERT INTO alumnos (nombre, apellido1, apellido2, nota) VALUES (?, ?, ?, ?)";
        PreparedStatement ps = con.prepareStatement(sql);
        ps.setString(1, a.nombre);
        ps.setString(2, a.apellido1);
        ps.setString(3, a.apellido2);
        ps.setFloat(4, a.nota);
        return ps.executeUpdate();
    }
}

Descargar

PDF Word HTML