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 并且可以正常工作。我需要将阅读器类转换为字符串。

4

1 回答 1

0

要从 CLOB 中读取,请使用 java.sql.CLOB 对象的 getAsciiStream 或 getCharacterStream 方法来检索整个 CLOB 作为输入流。getAsciiStream 方法在 java.io.InputStream 对象中返回一个 ASCII 输入流。getCharacterStream 方法在 java.io.Reader 对象中返回一个 Unicode 输入流。因此,要以 UTF-8 格式获取您的内容,请使用 getCharacterStream 并将其与阅读器一起使用。它会工作

于 2015-03-03T09:05:15.027 回答