Module  java.jnlp
软件包  javax.jnlp

Interface JNLPRandomAccessFile

  • All Superinterfaces:
    DataInputDataOutput


    public interface JNLPRandomAccessFile
    extends DataInput, DataOutput
    该类的实例支持读取和写入随机访问文件。 随机访问文件的行为类似于存储在文件系统中的大量字节。 有一种游标,或索引到隐含的数组,称为文件指针 ; 输入操作读取从文件指针开始的字节,并使文件指针超过读取的字节。 如果在读/写模式下创建随机访问文件,则输出操作也可用; 输出操作从文件指针开始写入字节,并将文件指针提前到写入的字节。 写入隐式数组的当前端的输出操作会导致扩展数组。 文件指针可以通过读取getFilePointer方法和由设置seek方法。

    这个类中的所有读取例程通常是真的,如果在读取所需的字节数之前到达文件结尾,则抛出一个EOFException (这是一种IOException )。 如果由于除文件末尾之外的任何原因而无法读取任何字节,则抛出IOException以外的EOFException 特别地,如果流已关闭, IOException可能会抛出IOException

    鼓励执行实施可能写入文件的最大数量的数据。

    从以下版本开始:
    1.4.2
    • 方法摘要

      所有方法  接口方法  抽象方法 
      Modifier and Type 方法 描述
      void close​()
      关闭此随机访问文件流并释放与流相关联的任何系统资源。
      long getFilePointer​()
      返回此文件中的当前偏移量。
      long length​()
      返回此文件的长度。
      int read​()
      从该文件读取一个字节的数据。
      int read​(byte[] b)
      从该文件读取最多 b.length个字节的数据到字节数组。
      int read​(byte[] b, int off, int len)
      从该文件读取最多 len个字节的数据到一个字节数组。
      boolean readBoolean​()
      从此文件读取一个 boolean
      byte readByte​()
      从此文件中读取一个带符号的八位值。
      char readChar​()
      从此文件中读取Unicode字符。
      double readDouble​()
      从此文件读取一个 double
      float readFloat​()
      从此文件读取一个 float
      void readFully​(byte[] b)
      从该文件读取 b.length个字节到字节数组,从当前文件指针开始。
      void readFully​(byte[] b, int off, int len)
      从该文件读取完整的 len字节到字节数组,从当前文件指针开始。
      int readInt​()
      从该文件读取一个带符号的32位整数。
      String readLine​()
      从此文件中读取下一行文本。
      long readLong​()
      从该文件中读取一个带符号的64位整数。
      short readShort​()
      从此文件中读取一个已签名的16位数字。
      int readUnsignedByte​()
      从此文件中读取一个无符号的八位数字。
      int readUnsignedShort​()
      从该文件中读取一个无符号的16位数字。
      String readUTF​()
      从该文件读取字符串。
      void seek​(long pos)
      设置文件指针偏移,从该文件的开头测量,发生下一次读取或写入。
      void setLength​(long newLength)
      设置此文件的长度。
      int skipBytes​(int n)
      尝试跳过超过 n个字节的输入丢弃跳过的字节。
      void write​(byte[] b)
      从指定的字节数组写入 b.length个字节到该文件,从当前文件指针开始。
      void write​(byte[] b, int off, int len)
      从指定的字节数组写入 len个字节,从偏移量 off开始写入此文件。
      void write​(int b)
      将指定的字节写入此文件。
      void writeBoolean​(boolean v)
      boolean写入文件作为一个字节值。
      void writeByte​(int v)
      将一个 byte写入文件作为一个字节的值。
      void writeBytes​(String s)
      将字符串作为字节序列写入文件。
      void writeChar​(int v)
      char写入文件作为双字节值,高位字节。
      void writeChars​(String s)
      将一个字符串作为字符序列写入文件。
      void writeDouble​(double v)
      使用 long中的 doubleToLongBits方法将双参数转换为 Double ,然后 long值作为八字节数量,高字节优先写入文件。
      void writeFloat​(float v)
      浮子参数的转换 int使用 floatToIntBits方法在类 Float ,然后写入该 int值到该文件作为一个四字节数量,高字节。
      void writeInt​(int v)
      将文件中的 int写入四字节,高位字节。
      void writeLong​(long v)
      向文件写入一个 long作为八字节,高字节优先。
      void writeShort​(int v)
      short写入文件为两个字节,高字节为先。
      void writeUTF​(String str)
      使用UTF-8编码以机器无关方式将字符串写入文件。
    • 方法详细信息

      • close

        void close​()
            throws IOException
        关闭此随机访问文件流并释放与流相关联的任何系统资源。 封闭的随机存取文件无法执行输入或输出操作,无法重新打开。
        异常
        IOException - 如果发生I / O错误。
      • length

        long length​()
             throws IOException
        返回此文件的长度。
        结果
        该文件的长度,以字节为单位。
        异常
        IOException - 如果发生I / O错误。
      • getFilePointer

        long getFilePointer​()
                     throws IOException
        返回此文件中的当前偏移量。
        结果
        从文件开头的偏移量(以字节为单位),下一次读取或写入发生。
        异常
        IOException - 如果发生I / O错误。
      • read

        int read​()
          throws IOException
        从该文件读取一个字节的数据。 该字节作为0到255( 0x00-0x0ff )范围内的整数返回。 如果没有输入可用,此方法将阻止。

        虽然JNLPRandomAccessFile不是JNLPRandomAccessFile的子类, InputStream该方法的行为与InputStream的读取方法InputStream

        结果
        数据的下一个字节,如果已经到达文件的末尾, -1
        异常
        IOException - 如果发生I / O错误。 如果达到文件结尾,则不会抛出。
      • read

        int read​(byte[] b,
                 int off,
                 int len)
          throws IOException
        从该文件读取最多len个字节的数据为字节数组。 该方法阻塞,直到输入的至少一个字节可用。

        虽然JNLPRandomAccessFile不是JNLPRandomAccessFile的子类, InputStream该方法的行为与InputStream的read(byte [],int,int)方法InputStream

        参数
        b - 读取数据的缓冲区。
        off - 数据的起始偏移量。
        len - 读取的最大字节数。
        结果
        读入缓冲区的总字节数,如果没有更多的数据,因为文件的结尾已经到达, -1
        异常
        IOException - 如果发生I / O错误。
      • read

        int read​(byte[] b)
          throws IOException
        从该文件读取最多b.length个字节的数据到一个字节数组。 该方法阻塞,直到输入的至少一个字节可用。

        虽然JNLPRandomAccessFile不是JNLPRandomAccessFile的子类, InputStream该方法的行为与InputStream的read(byte [])方法InputStream

        参数
        b - 读取数据的缓冲区。
        结果
        读入缓冲区的总字节数,如果没有更多的数据,因为该文件的结尾已经到达, -1
        异常
        IOException - 如果发生I / O错误。
      • readFully

        void readFully​(byte[] b)
                throws IOException
        从该文件读取b.length字节到字节数组,从当前文件指针开始。 该方法从文件中重复读取,直到读取所请求的字节数。 该方法阻塞,直到读取所请求的字节数,检测到流的结尾,或抛出异常。
        Specified by:
        readFully在接口 DataInput
        参数
        b - 读取数据的缓冲区。
        异常
        EOFException - 如果此文件在读取所有字节之前到达结束。
        IOException - 如果发生I / O错误。
      • readFully

        void readFully​(byte[] b,
                       int off,
                       int len)
                throws IOException
        从该文件读取完全len个字节到字节数组,从当前文件指针开始。 该方法从文件中重复读取,直到读取所请求的字节数。 该方法阻塞,直到读取所请求的字节数,检测到流的结尾,或抛出异常。
        Specified by:
        readFully在接口 DataInput
        参数
        b - 读取数据的缓冲区。
        off - 数据的起始偏移量。
        len - 要读取的字节数。
        异常
        EOFException - 如果此文件在读取所有字节之前到达结束。
        IOException - 如果发生I / O错误。
      • skipBytes

        int skipBytes​(int n)
               throws IOException
        尝试跳过超过n字节的输入丢弃跳过的字节。

        该方法可能跳过一些较小数量的字节,可能为零。 这可能是由许多条件中的任何一个引起的 n字节之前已经跳过的文件到达结束只有一种可能。 这种方法永远不会抛出一个EOFException 返回实际跳过的字节数。 如果n为负数,则不会跳过任何字节。

        Specified by:
        skipBytes在接口 DataInput
        参数
        n - 要跳过的字节数。
        结果
        实际跳过的字节数。
        异常
        IOException - 如果发生I / O错误。
      • readBoolean

        boolean readBoolean​()
                     throws IOException
        从此文件读取一个boolean 该方法从文件中读取单个字节,从当前文件指针开始。 价值0代表false 任何其他值代表true 该方法阻塞直到字节被读取,流的结束被检测到或抛出异常。
        Specified by:
        readBoolean在接口 DataInput
        结果
        boolean读数。
        异常
        EOFException - 如果此文件已到达结束。
        IOException - 如果发生I / O错误。
      • readByte

        byte readByte​()
               throws IOException
        从此文件中读取一个带符号的八位值。 该方法从当前文件指针开始从文件读取一个字节。 如果读取的字节是b ,其中0 <= b <= 255 ,那么结果是:
             (byte)(b)
         

        该方法阻塞直到字节被读取,流的结束被检测到或抛出异常。

        Specified by:
        readByte在接口 DataInput
        结果
        该文件的下一个字节作为带符号的8位 byte
        异常
        EOFException - 如果这个文件已经到了最后。
        IOException - 如果发生I / O错误。
      • readUnsignedByte

        int readUnsignedByte​()
                      throws IOException
        从此文件中读取一个无符号的八位数字。 此方法从该文件读取一个字节,从当前文件指针开始,并返回该字节。

        该方法阻塞直到字节被读取,流的结束被检测到或抛出异常。

        Specified by:
        readUnsignedByte在接口 DataInput
        结果
        该文件的下一个字节被解释为无符号的8位数字。
        异常
        EOFException - 如果此文件已到达结束。
        IOException - 如果发生I / O错误。
      • readShort

        short readShort​()
                 throws IOException
        从此文件中读取一个已签名的16位数字。 该方法从该文件读取两个字节,从当前文件指针开始。 如果按顺序读取的两个字节是b1b2 ,其中两个值中的每一个在0255之间,其结果等于:
             (short)((b1 << 8) | b2)
         

        此方法将阻塞,直到读取两个字节,检测到流的结尾,或抛出异常。

        Specified by:
        readShort在接口 DataInput
        结果
        该文件的下两个字节被解释为一个有符号的16位数字。
        异常
        EOFException - 如果此文件在读取两个字节之前到达结束。
        IOException - 如果发生I / O错误。
      • readUnsignedShort

        int readUnsignedShort​()
                       throws IOException
        从该文件中读取一个无符号的16位数字。 该方法从文件中读取两个字节,从当前文件指针开始。 如果读取的字节顺序为b1b2 ,其中0 <= b1, b2 <= 255 ,则结果等于:
             (b1 << 8) | b2
         

        此方法将阻塞,直到读取两个字节,检测到流的结尾,或抛出异常。

        Specified by:
        readUnsignedShort在接口 DataInput
        结果
        该文件的下两个字节被解释为无符号16位整数。
        异常
        EOFException - 如果此文件在读取两个字节之前到达结束。
        IOException - 如果发生I / O错误。
      • readChar

        char readChar​()
               throws IOException
        从此文件中读取Unicode字符。 该方法从文件中读取两个字节,从当前文件指针开始。 如果读取的字节顺序为b1b2 ,其中0 <= b1, b2 <= 255 ,则结果等于:
             (char)((b1 << 8) | b2)
         

        此方法将阻塞,直到读取两个字节,检测到流的结尾,或抛出异常。

        Specified by:
        readChar在接口 DataInput
        结果
        该文件的下两个字节为Unicode字符。
        异常
        EOFException - 如果此文件在读取两个字节之前到达结束。
        IOException - 如果发生I / O错误。
      • readInt

        int readInt​()
             throws IOException
        从该文件读取一个带符号的32位整数。 该方法从当前文件指针开始从文件读取4个字节。 如果读取的字节依次是b1b2b3 ,和b4 ,其中0 <= b1, b2, b3, b4 <= 255 ,则结果等于:
             (b1 << 24) | (b2 << 16) + (b3 << 8) + b4
         

        该方法阻塞,直到读取四个字节,检测到流的结尾,或抛出异常。

        Specified by:
        readInt在接口 DataInput
        结果
        该文件的下四个字节,解释为 int
        异常
        EOFException - 如果此文件在读取四个字节之前到达结束。
        IOException - 如果发生I / O错误。
      • readLong

        long readLong​()
               throws IOException
        从该文件中读取一个带符号的64位整数。 该方法从文件中读取八个字节,从当前文件指针开始。 如果读取的字节依次是b1b2b3b4b5b6b7 ,并b8,其中:
             0 <= b1, b2, b3, b4, b5, b6, b7, b8 <=255,
         

        那么结果等于:

             ((long)b1 << 56) + ((long)b2 << 48)
             + ((long)b3 << 40) + ((long)b4 << 32)
             + ((long)b5 << 24) + ((long)b6 << 16)
             + ((long)b7 << 8) + b8
         

        该方法阻塞,直到读取8个字节,检测到流的结尾,或抛出异常。

        Specified by:
        readLong接口 DataInput
        结果
        该文件的接下来的八个字节,解释为 long
        异常
        EOFException - 如果此文件在读取八个字节之前到达结束。
        IOException - 如果发生I / O错误。
      • readFloat

        float readFloat​()
                 throws IOException
        从此文件读取一个float 此方法读取一个int值,并从当前文件指针,就好像由readInt方法,然后转换该intfloat使用intBitsToFloat在类方法Float

        该方法阻塞,直到读取四个字节,检测到流的结尾,或抛出异常。

        Specified by:
        readFloat在接口 DataInput
        结果
        该文件的下四个字节,解释为 float
        异常
        EOFException - 如果此文件在读取四个字节之前到达结束。
        IOException - 如果发生I / O错误。
        另请参见:
        readInt()
      • readDouble

        double readDouble​()
                   throws IOException
        从此文件读取一个double 此方法读取一个long值,并从当前文件指针,就好像由readLong方法,然后转换该longdouble使用longBitsToDouble在类方法Double

        该方法阻塞,直到读取8个字节,检测到流的结尾,或抛出异常。

        Specified by:
        readDouble在接口 DataInput
        结果
        该文件的接下来的八个字节,解释为 double
        异常
        EOFException - 如果此文件在读取八个字节之前到达结束。
        IOException - 如果发生I / O错误。
        另请参见:
        readLong()
      • readLine

        String readLine​()
                 throws IOException
        从此文件中读取下一行文本。 该方法从文件开始依次读取字节,从当前文件指针开始,直到到达行终止符或文件末尾。 通过将字符的低8位的字节值设置为零,将字符的高8位设置为零,将每个字节转换为字符。 因此,此方法不支持完整的Unicode字符集。

        一行文本由回车字符( '\r' ),换行字符( '\n' ),紧跟换行符的回车字符或文件结尾终止。 行终止字符被丢弃,不包括返回的字符串的一部分。

        该方法阻塞,直到读取换行字符,回车并读取其后的字节(以查看它是否为换行符),到达文件的结尾或抛出异常。

        Specified by:
        readLine在接口 DataInput
        结果
        该文件的下一行文本,如果在读取一个字节之前遇到文件结尾,则返回null。
        异常
        IOException - 如果发生I / O错误。
      • readUTF

        String readUTF​()
                throws IOException
        从该文件读取字符串。 字符串已使用修改的UTF-8格式进行编码。

        从当前文件指针开始读取前两个字节,如readUnsignedShort 该值给出编码字符串中的以下字节数,而不是生成字符串的长度。 以下字节被解释为以UTF-8格式编码字符的字节,并将其转换为字符。

        该方法阻塞,直到读取所有字节,检测到流的结尾,或抛出异常。

        Specified by:
        readUTF在接口 DataInput
        结果
        一个Unicode字符串。
        异常
        EOFException - 如果此文件在读取所有字节之前到达结束。
        IOException - 如果发生I / O错误。
        UTFDataFormatException - 如果字节不表示Unicode字符串的有效UTF-8编码。
        另请参见:
        readUnsignedShort()
      • seek

        void seek​(long pos)
           throws IOException
        设置文件指针偏移,从该文件的开头测量,发生下一次读取或写入。 偏移可以设置为超出文件的末尾。 设置超出文件末尾的偏移量不会更改文件长度。 文件长度只有在偏移设置超出文件结尾之后才会通过写入进行更改。
        参数
        pos - 从文件开始测量的偏移位置,用于设置文件指针。
        异常
        IOException - 如果 pos小于 0或发生I / O错误。
      • setLength

        void setLength​(long newLength)
                throws IOException
        设置此文件的长度。

        如果由length方法返回的文件的当前长度大于newLength参数,则该文件将被截断。 在这种情况下,如果由getFilePointer方法返回的文件偏移量大于newLength则在此方法返回后,偏移量将等于newLength

        如果由length方法返回的文件的当前长度小于newLength参数,则该文件将被扩展。 在这种情况下,文件的扩展部分的内容未定义。

        参数
        newLength - 文件所需的长度
        异常
        IOException - 如果发生I / O错误
      • write

        void write​(int b)
            throws IOException
        将指定的字节写入此文件。 写入从当前文件指针开始。
        Specified by:
        write在接口 DataOutput
        参数
        b - byte
        异常
        IOException - 如果发生I / O错误。
      • write

        void write​(byte[] b)
            throws IOException
        从指定的字节数组写入 b.length个字节到该文件,从当前文件指针开始。
        Specified by:
        write在接口 DataOutput
        参数
        b - 数据。
        异常
        IOException - 如果发生I / O错误。
      • write

        void write​(byte[] b,
                   int off,
                   int len)
            throws IOException
        从指定的字节数组写入 len个字节,从偏移 off开始写入该文件。
        Specified by:
        write在接口 DataOutput
        参数
        b - 数据。
        off - 数据中的起始偏移量。
        len - 要写入的字节数。
        异常
        IOException - 如果发生I / O错误。
      • writeBoolean

        void writeBoolean​(boolean v)
                   throws IOException
        boolean写入boolean作为单字节值。 true写为值(byte)1 ; false被写出为值(byte)0 写入从文件指针的当前位置开始。
        Specified by:
        writeBoolean在接口 DataOutput
        参数
        v - 要写入的 boolean值。
        异常
        IOException - 如果发生I / O错误。
      • writeByte

        void writeByte​(int v)
                throws IOException
        byte写入文件作为单字节值。 写入从文件指针的当前位置开始。
        Specified by:
        writeByte在接口 DataOutput
        参数
        v - byte值。
        异常
        IOException - 如果发生I / O错误。
      • writeShort

        void writeShort​(int v)
                 throws IOException
        向文件写入一个short作为两个字节,高字节优先。 写入从文件指针的当前位置开始。
        Specified by:
        writeShort在接口 DataOutput
        参数
        v - a short待写。
        异常
        IOException - 如果发生I / O错误。
      • writeChar

        void writeChar​(int v)
                throws IOException
        char写入文件作为双字节值,高字节优先。 写入从文件指针的当前位置开始。
        Specified by:
        writeChar在接口 DataOutput
        参数
        v - 要写入的 char值。
        异常
        IOException - 如果发生I / O错误。
      • writeInt

        void writeInt​(int v)
               throws IOException
        向文件写入一个int作为四字节,高字节优先。 写入从文件指针的当前位置开始。
        Specified by:
        writeInt在接口 DataOutput
        参数
        v - int
        异常
        IOException - 如果发生I / O错误。
      • writeLong

        void writeLong​(long v)
                throws IOException
        向文件写入一个long为八字节,高位字节。 写入从文件指针的当前位置开始。
        Specified by:
        writeLong在接口 DataOutput
        参数
        v - a long待写。
        异常
        IOException - 如果发生I / O错误。
      • writeFloat

        void writeFloat​(float v)
                 throws IOException
        浮子参数的转换int使用floatToIntBits方法在类Float ,然后写入该int值到该文件作为一个四字节数量,高字节。 写入从文件指针的当前位置开始。
        Specified by:
        writeFloat在接口 DataOutput
        参数
        v - 要写入的 float值。
        异常
        IOException - 如果发生I / O错误。
      • writeDouble

        void writeDouble​(double v)
                  throws IOException
        双参数传递给转换long使用doubleToLongBits方法在类Double ,然后写入该long值到该文件作为一个八字节的数量,高字节。 写入从文件指针的当前位置开始。
        Specified by:
        writeDouble在接口 DataOutput
        参数
        v - double值。
        异常
        IOException - 如果发生I / O错误。
      • writeBytes

        void writeBytes​(String s)
                 throws IOException
        将字符串作为字节序列写入文件。 字符串中的每个字符顺序地通过丢弃其高8位来写出。 写入从文件指针的当前位置开始。
        Specified by:
        writeBytes在接口 DataOutput
        参数
        s - 要写入的字节串。
        异常
        IOException - 如果发生I / O错误。
      • writeChars

        void writeChars​(String s)
                 throws IOException
        将一个字符串作为字符序列写入文件。 每个字符都被写入数据输出流,就好像通过writeChar方法。 写入从文件指针的当前位置开始。
        Specified by:
        writeChars在接口 DataOutput
        参数
        s - 要写入的 String值。
        异常
        IOException - 如果发生I / O错误。
        另请参见:
        writeChar(int)
      • writeUTF

        void writeUTF​(String str)
               throws IOException
        使用UTF-8编码以机器无关方式将字符串写入文件。

        首先,将两个字节写入文件,从当前文件指针开始,好像通过writeShort方法给出要跟随的字节数。 该值是实际写出的字节数,而不是字符串的长度。 按照长度,字符串的每个字符顺序地使用每个字符的UTF-8编码输出。

        Specified by:
        writeUTF在接口 DataOutput
        参数
        str - 要写入的字符串。
        异常
        IOException - 如果发生I / O错误。