⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 persistent storage-record.java

📁 RMS移动商务应用开发
💻 JAVA
字号:
/* License *  * Copyright 1994-2004 Sun Microsystems, Inc. All Rights Reserved. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: *   *  * Redistribution of source code must retain the above copyright notice, *      this list of conditions and the following disclaimer. *  *  * Redistribution in binary form must reproduce the above copyright notice, *      this list of conditions and the following disclaimer in the *      documentation and/or other materials provided with the distribution. *  * Neither the name of Sun Microsystems, Inc. or the names of contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. *   * This software is provided "AS IS," without a warranty of any kind. ALL * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. *   * You acknowledge that this software is not designed, licensed or intended * for use in the design, construction, operation or maintenance of any * nuclear facility.  */public class Record implements DataInput {    private RecordStore _rs;    private byte[] _data;    private int _length;    private int _id;    private DataInputStream _din;    public Record( RecordStore rs ){        this( rs, 100 );    }    public Record(              RecordStore rs, int initialRecordSize ){        _rs     = rs;        _data   = new byte[ initialRecordSize ];        _din    = new DataInputStream(                  new ByteArrayInputStream( _data ) );        _length = -1;    }    public byte[] getByteArray() { return _data; }    public int getLength() { return _length; }    public byte[] moveTo( int id )                 throws RecordStoreNotOpenException,                              InvalidRecordIDException,                                  RecordStoreException,                                           IOException    {        _length = _rs.getRecordSize( id );        if( _length > _data.length ){            _data = new byte[ _length + 40 ];            _din  = new DataInputStream(                   new ByteArrayInputStream( _data ) );        }        _rs.getRecord( id, _data, 0 );        _id = id;        _din.reset();        return _data;    }    public void readFully(byte b[])                                  throws IOException {        _din.readFully( b );    }    public void readFully(byte b[], int off, int len)                                   throws IOException {        _din.readFully( b, off, len );    }       return _din.skipBytes( n );    }    public boolean readBoolean() throws IOException {        return _din.readBoolean();    }    public byte readByte() throws IOException {        return _din.readByte();    }    public int readUnsignedByte()                                   throws IOException {       return _din.readUnsignedByte();    }    public short readShort() throws IOException {        return _din.readShort();    }    public int readUnsignedShort()                                   throws IOException {       return _din.readUnsignedShort();    }    public char readChar() throws IOException {        return _din.readChar();    }    public int readInt() throws IOException {        return _din.readInt();    }    public long readLong() throws IOException {        return _din.readLong();    }    public String readUTF() throws IOException {        return _din.readUTF();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -