*.DB에 텍스트로 등록 된 Blob 데이터 추출.


getBytes를 이용한 방법과 getBinaryStream을 이용한 방법이 있다.


case 1.

Blob aBlob = rs.getBlob("COLUMNNAME");

byte[] allBytesInBlob = aBlob.getBytes(48, (int) aBlob.length());

contents = new String(allBytesInBlob);

System.out.println( "contents1 ====>> " + contents.toString() );


getBytes시 48은 48번째 텍스트부터 가져온다는 뜻.

jdbc 버전 문제 인지 모르겠으나, 현재 테스트한 1.4이하 버전에서 getBlob 시 [Ljava.lang.String.... 정보같은 헤더 정보가 같이 넘어온다.

이 헤더 정보의 길이가 47byte정도 된다.


case 2.

StringBuffer str = new StringBuffer();

String strng = "";

BufferedReader bufferRead = new BufferedReader( new InputStreamReader(aBlob.getBinaryStream()));

while( (strng = bufferRead.readLine())!=null ){

   str.append(strng);

}

System.out.println( "contents2 ====>> " + str.toString() );

+ Recent posts