你不会是getString来取的吧?改成用流getCharacterStream()、getUnicodeStream()、getBinaryStream()。

解决方案 »

  1.   

    谢谢rootwuyu.可是我如下写的代码有什么错误呢???
    Reader rtxt=rs.getCharacterStream();
    char[]b=new char[255];
    int rb=rtxt.read(b);
    while(rb!=-1){
         out.print(b);
         rb=rtxt.read(b);
    }
    rtxt.close();
    结果是,小段数据可以读。对于大段数据有的地方会出现异常:
    java.lang.IllegalArgumentException
    at java.nio.Buffer.position(Buffer.java:218)
    at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:410)
    at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:446)
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:180)
    at java.io.InputStreamReader.read(InputStreamReader.java:167)
    at java.io.Reader.read(Reader.java:100)
    at