LoslegenKostenlos loslegen

Leseprobe-Kapitel lesen

Die Funktion „Try Before You Borrow“ der Metropolitan Public Library speichert Leseprobe-Kapitel erfolgreich. Jetzt musst du die Abruffunktion implementieren, damit Nutzerinnen und Nutzer diese Vorschauen auf der Website der Bibliothek tatsächlich lesen können.

Da Leseproben Tausende von Zeichen enthalten können, nutzt du Streaming, um die Daten effizient zu lesen. Anstatt ganze Kapitel auf einmal in den Speicher zu laden, liest du sie in kleinen Blöcken mit einem Zeichenpuffer.

Diese Übung ist Teil des Kurses

Abfragen einer PostgreSQL-Datenbank in Java

Kurs anzeigen

Anleitung zur Übung

  • Lies den Stream aus dem ResultSet für die Spalte sample_chapter.
  • Setze die Puffergröße so, dass 30 Zeichen gelesen werden.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

public class Main {
    public static void main(String[] args) throws SQLException, IOException, ClassNotFoundException {
        HikariDataSource ds = HikariSetup.createDataSource();
        String query = """
            SELECT book_id, sample_chapter FROM book_content bc
            """;
        try (Connection conn = ds.getConnection();
             PreparedStatement pstmt = conn.prepareStatement(query);
             ResultSet rs = pstmt.executeQuery()) {
            while (rs.next()) {
				// Read the stream from the result set
                ____ reader = rs.____("sample_chapter");
                // Read the first 30 characters
                char[] cb = new ____[____];
                reader.read(cb);
                System.out.printf("Book Id: %d, sample chapter: %s ...\n", rs.getInt("book_id"), new String(cb));
            }
        }
    }
}
Code bearbeiten und ausführen