*.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() );
'Java' 카테고리의 다른 글
[Java] Java Doc 사용법 (0) | 2014.07.14 |
---|---|
[Java] Java와 스크립트 통신 (0) | 2014.06.12 |
[Java] 웹페이지 applet 실행 (0) | 2014.05.13 |
[Java] Rapidant Applet 웹 대용량 파일 전송 (0) | 2014.05.09 |
[Java] java ftp 서버 파일 업로드하기 (0) | 2014.01.17 |