Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 2.207 pregleda

Najnovija ↓

BLOB flushovanje OutputStreama u String 15.12.2008. u 18:43 · pre 217 meseci #1
Hocu da niz bajtova, koji su ustvari vrednost kolone iz baze ciji je tip BLOB, prebacim u String.

Dakle, pomocu ovog koda:
Code:

OutputStream  out = System.out;
try {
   out.write( byteArrayBlob );
   out.flush();
} catch (IOException e) {
  e.printStackTrace();
}

Niz bojatova se kao text ispishe na konzolu -sve cool.
Ono sto hocu je da ga upishem u String ili StringBuffer, koji cu dalje koristiti u aplikaciji.


Nije moguce koristiti String konstruktor: new String(byte[]), posto se radi o BLOB tipu (valjda je to neki pokazivac?).
Mozda treba napraviti vezu izmedju OUT/IN streamova? Kako? Probao sam neke primere, ali rade samo za obicne stringove, ne i za niz bytova.

Znam da postoji razlika izmedju Writera(text) i Streamova(bytovi).
Trenutno sam resio tako sto sve upisem u fajl pa onda iscitavam iz fajla. Kako da realizujem direktno resenje?


Pozdrav

Re: BLOB flushovanje OutputStreama u String 15.12.2008. u 23:03 · pre 217 meseci #2
Pogledaj API za:
java/sql/ResultSet method getString(int)
java/sql/ResultSet method getString(java.lang.String)

Pitanje ti je totalno nejasno. Mislim da će ti ovo pomoći.
Ivan
Potpis
Rad rad i samo rad :-D
Re: BLOB flushovanje OutputStreama u String 16.12.2008. u 09:26 · pre 217 meseci #3
Nisam probao ali deluje da radi:
http://www.kodejava.org/examples/266.html

Pretpostavljam da podatke iz baze dobijaš preko
Code:
InputStream is = rs.getBinaryStream("BLOBColumnName");


Code:
public String convertStreamToString(InputStream is) {
        /*
         * To convert the InputStream to String we use the BufferedReader.readLine()
         * method. We iterate until the BufferedReader return null which means
         * there's no more data to read. Each line will appended to a StringBuilder
         * and returned as String.
         */
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();
 
        String line = null;
        try {
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
 
        return sb.toString();
    }
}
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme