Java 将读取器转换为字符串
我使用Java 将读取器转换为字符串,java,json,clob,reader,Java,Json,Clob,Reader,我使用java.io.Reader类从数据库中读取CLOB内容。我正在尝试使用IOUtils类将内容转换为String String json = IOUtils.toString(reader); 我的字符串将是一个json,并将其转换为java对象 GsonBuilder builder = new GsonBuilder(); Gson gson = builder.create(); JSONdata jsonData; jsonData=gson.fromJson(json, JS
java.io.Reader
类从数据库中读取CLOB内容。我正在尝试使用IOUtils
类将内容转换为String
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,它可以正常工作。我需要将reader类转换为字符串。若要从CLOB中读取,请使用java.sql.CLOB对象的GetAsCistream或getCharacterStream方法检索整个CLOB作为输入流。getAsciiStream方法返回java.io.InputStream对象中的ASCII输入流。getCharacterStream方法返回java.io.Reader对象中的Unicode输入流。所以,要获得UTF-8中的内容,请使用getCharacterStream并与reader一起使用。它将起作用错误可能在您未显示的代码中。向我们展示用于获取读取器的代码。首先确保CLOB不是空的。