Anda harus memanggil rs.next() (dan memeriksa apakah itu mengembalikan true) untuk mengakses baris pertama dari kumpulan hasil:
if (rs.next() {
InputStream stream = rs.getBinaryStream(1);
...
Juga bukan berarti indeks harus 1, karena kueri Anda hanya memilih satu kolom.
Saya juga tidak mengerti gunanya casting int ke char. Metode ini menggunakan int sebagai argumen. Cast ke byte setidaknya akan logis, tetapi byte dan char tidak sama di Java.