模块  java.sql.rowset

Class SerialClob

  • 实现的所有接口
    SerializableCloneableClob

    public class SerialClobextends Objectimplements Clob, Serializable, Cloneable
    SQL编程语言中的序列化映射,具有SQL CLOB值。

    SerialClob类提供了用于从Clob对象创建实例的Clob函数。 需要注意的是Clob对象应该已经将SQL CLOB一个前值的数据置于客户端SerialClob对象从它建造。 SQL CLOB值的数据可以在客户端上实现为Unicode字符流。

    SerialClob方法可以从SerialClob对象获取子字符串或定位字符模式的开头。

    线程安全

    SerialClob不适合多个并发线程使用。 如果要由多个线程使用SerialClob,则应通过适当的同步来控制对SerialClob的访问。

    从以下版本开始:
    1.5
    另请参见:
    Serialized Form
    • 构造方法摘要

      构造方法  
      构造器 描述
      SerialClob​(char[] ch)
      构造一个 SerialClob对象,该对象是给定 char数组的序列化版本。
      SerialClob​(Clob clob)
      构造一个 SerialClob对象,该对象是给定 Clob对象的序列化版本。
    • 方法摘要

      所有方法  实例方法 具体的方法 
      变量和类型 方法 描述
      Object clone()
      返回此 SerialClob
      boolean equals​(Object obj)
      将此SerialClob与指定的对象进行比较。
      void free()
      此方法释放 SerialClob对象并释放它所拥有的资源。
      InputStream getAsciiStream()
      以ascii流的 CLOB检索此 SerialClob对象指定的 CLOB值。
      Reader getCharacterStream()
      以Unicode字符流的形式返回此 SerialClob对象的数据。
      Reader getCharacterStream​(long pos, long length)
      返回一个 Reader对象,该对象包含部分 SerialClob值,以pos指定的字符开头,长度为长度字符。
      String getSubString​(long pos, int length)
      返回此 SerialClob对象中包含的子字符串的副本,从给定位置开始并继续指定的一个或多个字符。
      int hashCode()
      返回此 SerialClob的哈希码。
      long length()
      检索此 SerialClob对象的字符数组中的字符数。
      long position​(String searchStr, long start)
      返回给定 String对象开始的 SerialClob对象中的位置,从指定位置开始搜索。
      long position​(Clob searchStr, long start)
      返回此 SerialClob对象中给定的 Clob签名开始的位置,从指定位置开始搜索。
      OutputStream setAsciiStream​(long pos)
      检索用于将Ascii字符写入此 SerialClob对象表示的 CLOB值的流,从位置 pos开始。
      Writer setCharacterStream​(long pos)
      检索用于将Unicode字符流写入此 SerialClob对象表示的 CLOB值的流,位于 pos位置。
      int setString​(long pos, String str)
      将给定的Java String写入 SerialClob对象所代表的 CLOB值,位置为 pos
      int setString​(long pos, String str, int offset, int length)
      len字符 str (从字符 offset开始)写入此 Clob代表的 CLOB值。
      void truncate​(long length)
      截断此 SerialClob对象表示的 CLOB值,使其长度为 len字符。
    • 构造方法详细信息

      • SerialClob

        public SerialClob​(char[] ch)           throws SerialException,                  SQLException
        构造一个SerialClob对象,该对象是给定char数组的序列化版本。

        使用来自char阵列的数据初始化新的SerialClob对象,从而允许断开连接的RowSet对象在不触及数据源的情况下建立序列化的Clob对象。

        参数
        ch - 表示要序列化的 Clob对象的char数组
        异常
        SerialException - 如果序列化期间发生错误
        SQLException - 如果发生SQL错误
      • SerialClob

        public SerialClob​(Clob clob)           throws SerialException,                  SQLException
        构造一个SerialClob对象,该对象是给定Clob对象的序列化版本。

        使用SerialClob对象中的数据初始化新的Clob对象; 因此, Clob对象之前应该已将SQL CLOB值的数据从数据库传送到客户端。 否则,新的SerialClob对象对象将不包含任何数据。

        注意:提供给此构造函数的Clob对象必须为Clob.getCharacterStream()Clob.getAsciiStream方法返回非null值。 SerialClob构造函数不能序列化Clob在这个实例对象,将抛出SQLException对象。

        参数
        clob - Clob构造此SerialClob对象的SerialClob对象; 不能为空
        异常
        SerialException - 如果序列化期间发生错误
        SQLException - 如果捕获CLOB时发生SQL错误; 如果Clob对象为null; 或者如果满足Clob.getCharacterStream()Clob.getAsciiStream()的方法Clob返回一个空
        另请参见:
        Clob
    • 方法详细信息

      • length

        public long length()            throws SerialException
        检索此 SerialClob对象的字符数组中的字符数。
        Specified by:
        length in interface Clob
        结果
        a long表示此 SerialClob对象的字符数组的字符长度
        异常
        SerialException - 如果发生错误; 如果先前已在此对象上调用了free
      • getCharacterStream

        public Reader getCharacterStream()                          throws SerialException
        以Unicode字符流的形式返回此SerialClob对象的数据。 与相关方法getAsciiStream不同,无论SerialClob对象是使用Clob对象还是char数组创建, Clob生成char
        Specified by:
        getCharacterStream在界面 Clob
        结果
        一个 java.io.Reader包含此对象 SerialClob对象的数据
        异常
        SerialException - 如果发生错误; 如果先前已在此对象上调用了free
        另请参见:
        Clob.setCharacterStream(long)
      • getAsciiStream

        public InputStream getAsciiStream()                           throws SerialException,                                  SQLException
        以ascii流的CLOB检索此SerialClob对象指定的CLOB值。 此方法转发getAsciiStream呼叫到底层Clob在事件对象,这SerialClob对象被实例化与Clob对象。 如果使用char数组实例化此SerialClob对象,则抛出SerialException对象。
        Specified by:
        getAsciiStream in interface Clob
        结果
        一个 java.io.InputStream包含此对象 SerialClob对象的数据
        异常
        SerialException -如果此SerialClob对象不是用实例Clob对象; 如果先前已在此对象上调用了free
        SQLException - 如果访问用于创建此 SerialClob对象的 Clob对象表示的 CLOB值时出错
        另请参见:
        Clob.setAsciiStream(long)
      • getSubString

        public String getSubString​(long pos,                           int length)                    throws SerialException
        返回此 SerialClob对象中包含的子字符串的副本,从给定位置开始并继续指定的一个或多个字符。
        Specified by:
        getSubString ,接口 Clob
        参数
        pos - 要复制的子字符串中第一个字符的位置; SerialClob对象的第一个字符位于1 ; 不得小于1 ,并且起始位置和子串长度之和必须小于此SerialClob对象的长度
        length - 要返回的子字符串中的字符数; 不得大于此SerialClob对象的长度,并且起始位置和子字符串长度之和必须小于此SerialClob对象的长度
        结果
        一个 String含有本的一个子对象 SerialClob在给定位置开始对象和包含的连续字符数指定
        异常
        SerialException - 如果任一参数超出范围; 如果先前已在此对象上调用了free
      • position

        public long position​(String searchStr,                     long start)              throws SerialException,                     SQLException
        返回给定String对象开始的SerialClob对象中的位置,从指定位置开始搜索。 如果未找到模式,则此方法返回-1
        Specified by:
        position在接口 Clob
        参数
        searchStr - 要搜索的 String对象
        start - 此SerialClob对象中开始搜索的位置; 第一个位置是1 ; 不得小于1也不得大于此SerialClob对象的长度
        结果
        给定的String对象开始的位置,在指定位置开始搜索; -1如果找不到给定的String对象或者起始位置超出范围; 返回值的位置编号从1开始
        异常
        SerialException - 如果先前已在此对象上调用了 free方法
        SQLException - 如果从数据库访问Clob值时出错。
      • position

        public long position​(Clob searchStr,                     long start)              throws SerialException,                     SQLException
        返回给定Clob签名开始的SerialClob对象中的位置,从指定位置开始搜索。 如果未找到模式,则此方法返回-1
        Specified by:
        position ,接口 Clob
        参数
        searchStr - 要搜索的 Clob对象
        start - 此SerialClob对象中开始搜索的位置; 第一个位置是1 ; 不得小于1也不得大于此SerialClob对象的长度
        结果
        给定的 Clob对象在此 SerialClob对象中开始的位置,在指定的起始位置或之后
        异常
        SerialException - 如果发现错误,则找到Clob签名; 如果先前已在此对象上调用了free方法
        SQLException - 如果从数据库访问Clob值时出错
      • setString

        public int setString​(long pos,                     String str)              throws SerialException
        将给定的Java String写入此 SerialClob对象所代表的 CLOB值,位置为 pos
        Specified by:
        setString接口 Clob
        参数
        pos - 开始写入SerialClob对象所代表的CLOB值的位置; 第一个位置是1 ; 不得小于1也不得大于此SerialClob对象的长度
        str - 要写入此 SerialClob对象表示的 CLOB值的字符串
        结果
        写入的字符数
        异常
        SerialException - 如果访问CLOB值时出错; 如果设置了无效位置; 如果设置了无效的偏移值; 如果要写入的字节数大于SerialClob长度; 或者长度和偏移的组合值大于Clob缓冲区; 如果先前已在此对象上调用了free方法
      • setString

        public int setString​(long pos,                     String str,                     int offset,                     int length)              throws SerialException
        len字符 str (从字符 offset开始)写入此 Clob代表的 CLOB值。
        Specified by:
        setString ,界面 Clob
        参数
        pos - 开始写入SerialClob对象所代表的CLOB值的位置; 第一个位置是1 ; 不得小于1也不得大于此SerialClob对象的长度
        str - 要写入此 Clob对象表示的 CLOB值的字符串
        offset - 偏移到 str开始读取要写入的字符
        length - 要写入的字符数
        结果
        写入的字符数
        异常
        SerialException - 如果访问CLOB值时出错; 如果设置了无效位置; 如果设置了无效的偏移值; 如果要写入的字节数大于SerialClob长度; 或者长度和偏移的组合值大于Clob缓冲区; 如果先前已在此对象上调用了free方法
      • setAsciiStream

        public OutputStream setAsciiStream​(long pos)                            throws SerialException,                                   SQLException
        检索用于将Ascii字符写入此SerialClob对象表示的CLOB值的流,从位置pos开始。 此方法转发setAsciiStream()呼叫到底层Clob在事件对象,这SerialClob对象被实例化与Clob对象。 如果使用char数组实例化此SerialClob对象,则抛出SerialException对象。
        Specified by:
        setAsciiStream in interface Clob
        参数
        pos - 开始写入 CLOB对象的位置
        结果
        可以写入ASCII编码字符的流
        异常
        SerialException - 如果未使用Clob对象实例化SerialClob; 如果先前已在此对象上调用了free方法
        SQLException - 如果访问 CLOB值时出错
        另请参见:
        getAsciiStream()
      • setCharacterStream

        public Writer setCharacterStream​(long pos)                          throws SerialException,                                 SQLException
        检索用于将Unicode字符流写入此SerialClob对象所代表的CLOB值的流,位于pos位置。 此方法转发setCharacterStream()呼叫到底层Clob在事件对象,这SerialClob对象被实例化与Clob对象。 如果使用char数组实例化此SerialClob对象,则抛出SerialException
        Specified by:
        setCharacterStream ,界面 Clob
        参数
        pos - 开始写入 CLOB值的位置
        结果
        可以写入Unicode编码字符的流
        异常
        SerialException - 如果SerialClob未使用Clob对象进行实例化; 如果先前已在此对象上调用了free方法
        SQLException - 如果访问 CLOB值时出错
        另请参见:
        getCharacterStream()
      • truncate

        public void truncate​(long length)              throws SerialException
        截断此SerialClob对象表示的CLOB值,使其长度为len字符。

        SerialClob对象截断为长度0具有清除其内容的效果。

        Specified by:
        truncate in interface Clob
        参数
        length - 应截断 CLOB值的长度(以字节为单位)
        异常
        SerialException - 如果访问CLOB值时出错; 如果先前已在此对象上调用了free方法
      • getCharacterStream

        public Reader getCharacterStream​(long pos,                                 long length)                          throws SQLException
        返回一个 Reader对象,该对象包含部分 SerialClob值,以pos指定的字符开头,长度为长度字符。
        Specified by:
        getCharacterStream接口 Clob
        参数
        pos - 要检索的部分值的第一个字符的偏移量。 SerialClob的第一个字符位于第1位。
        length - 要检索的部分值的字符长度。
        结果
        Reader ,通过该局部 SerialClob值可被读取。
        异常
        SQLException - 如果pos小于1或者如果pos大于 SerialClob的字符数,或者如果pos + length大于 SerialClob的字符数;
        SerialException - 如果先前已在此对象上调用了 free方法
        从以下版本开始:
        1.6
      • free

        public void free()          throws SQLException
        此方法释放SerialClob对象并释放它所拥有的资源。 调用free方法后,该对象无效。

        如果free被多次调用,在后续调用free被视为无操作。

        Specified by:
        free in interface Clob
        异常
        SQLException - 如果发生错误,则释放Clob的资源
        从以下版本开始:
        1.6
      • equals

        public boolean equals​(Object obj)
        将此SerialClob与指定的对象进行比较。 当且仅当参数不是null并且是SerialClob对象时,结果为true ,该对象表示与此对象相同的字符序列。
        重写:
        equalsObject
        参数
        obj - 该对象为 SerialClob对比了
        结果
        true如果给定的对象表示 SerialClob相当于此SerialClob, false否则
        另请参见:
        Object.hashCode()HashMap
      • clone

        public Object clone()
        返回此SerialClob 该副本将包含对内部字符数组的克隆的引用,而不是对此SerialClob对象的原始内部字符数组的SerialClob 基础Clob对象将设置为null。
        重写:
        clone在课程 Object
        结果
        这个SerialClob的克隆
        另请参见:
        Cloneable