2015-02-25 3 views
0

Использование с использованием java.io.Reader класса для чтения CLOB Содержимое из базы данных. Пытаюсь преобразовать содержимое в String используя IOUtils классПреобразование чтения в строку

String json = IOUtils.toString(reader); 

И моя строка будет JSON и преобразования его в объект Java

GsonBuilder builder = new GsonBuilder(); 
Gson gson = builder.create(); 

JSONdata jsonData; 
jsonData=gson.fromJson(json, JSONdata.class); 

Здесь методы ToString дает пустое значение, так как он не сделал конвертировать в строку. Я работал с inputstream, и он работает. Мне нужно, чтобы класс чтения был преобразован в строку.

+2

Ошибка, вероятно, в коде, который вы не показываете. Покажите нам код, используемый для чтения. Убедитесь, что CLOB не пуст в первую очередь. –

ответ

0

Для чтения из CLOB используйте метод getAsciiStream или getCharacterStream объекта java.sql.CLOB для извлечения всего CLOB в качестве входного потока. Метод getAsciiStream возвращает входной поток ASCII в объекте java.io.InputStream. Метод getCharacterStream возвращает входной поток Unicode в объекте java.io.Reader. Итак, чтобы получить ваш контент в UTF-8, используйте getCharacterStream и используйте его с читателем. Он будет работать

+0

http://docs.oracle.com/cd/B28359_01/java.111/b31224/oralob.htm#i1058035 – Arun