Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将读取器转换为字符串_Java_Json_Clob_Reader - Fatal编程技术网

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不是空的。