Java SQL ResultSet Blob Read readBlobUTF16BinaryStream(ResultSet rs, String fieldName)

Here you can find the source of readBlobUTF16BinaryStream(ResultSet rs, String fieldName)

Description

read Blob UTF Binary Stream

License

Apache License

Declaration

public static String readBlobUTF16BinaryStream(ResultSet rs,
            String fieldName) throws IOException, SQLException 

Method Source Code

//package com.java2s;
/**********************************************************************************
 * $URL: https://source.sakaiproject.org/contrib/etudes/sakai-jforum/tags/2.8.1/jforum-tool/src/java/org/etudes/jforum/dao/oracle/OracleUtils.java $ 
 * $Id: OracleUtils.java 70371 2010-09-22 20:22:42Z murthy@etudes.org $ 
 *********************************************************************************** 
 * //  w  w w . ja v  a 2  s . co m
 * Copyright (c) 2008, 2009, 2010 Etudes, Inc. 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 * http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 * 
 * Portions completed before July 1, 2004 Copyright (c) 2003, 2004 Rafael Steil, All rights reserved, licensed under the BSD license. 
 * http://www.opensource.org/licenses/bsd-license.php 
 * 
 * Redistribution and use in source and binary forms, 
 * with or without modification, are permitted provided 
 * that the following conditions are met: 
 * 
 * 1) Redistributions of source code must retain the above 
 * copyright notice, this list of conditions and the 
 * following disclaimer. 
 * 2) Redistributions in binary form must reproduce the 
 * above copyright notice, this list of conditions and 
 * the following disclaimer in the documentation and/or 
 * other materials provided with the distribution. 
 * 3) Neither the name of "Rafael Steil" nor 
 * the names of its contributors may be used to endorse 
 * or promote products derived from this software without 
 * specific prior written permission. 
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT 
 * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, 
 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 
 * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 
 * IN CONTRACT, STRICT LIABILITY, OR TORT 
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE 
 ***********************************************************************************/

import java.io.IOException;
import java.io.InputStream;

import java.sql.Blob;

import java.sql.ResultSet;
import java.sql.SQLException;

public class Main {
    public static String readBlobUTF16BinaryStream(ResultSet rs,
            String fieldName) throws IOException, SQLException {
        Blob clob = rs.getBlob(fieldName);

        InputStream is = clob.getBinaryStream();
        StringBuffer sb = new StringBuffer();
        int readedBytes = 0;
        int bufferSize = 4096;

        do {
            byte[] bytes = new byte[bufferSize];
            readedBytes = is.read(bytes);
            if (readedBytes > 0) {
                String readed = new String(bytes, 0, readedBytes, "UTF-16");
                sb.append(readed);
            }
        } while (readedBytes == bufferSize);

        is.close();

        return sb.toString();
    }
}

Related

  1. getBlobAsByteArray(final ResultSet rs, final int ind)
  2. getBlobAsBytes(ResultSet rs, int col)
  3. getBlobBytes(ResultSet rs, int iColumn)
  4. getBlobValue(ResultSet result, String strField)
  5. readBlob(ResultSet rs, int index)
  6. readBlobUTF16BinaryStream(ResultSet rs, String fieldName)
  7. readFromBlob(ResultSet rs, String column)