模块  java.base
软件包  java.io

Interface DataOutput

    • 方法摘要

      所有方法  实例方法 抽象方法 
      变量和类型 方法 描述
      void write​(byte[] b)
      将数组 b所有字节写入输出流。
      void write​(byte[] b, int off, int len)
      将数组 b len字节按顺序写入输出流。
      void write​(int b)
      将参数 b的八个低位写入输出流。
      void writeBoolean​(boolean v)
      将 boolean值写入此输出流。
      void writeByte​(int v)
      将参数 v的八个低位写入输出流。
      void writeBytes​(String s)
      将字符串写入输出流。
      void writeChar​(int v)
      将 char值(由两个字节组成)写入输出流。
      void writeChars​(String s)
      将字符串 s中的每个字符按 s写入输出流,每个字符两个字节。
      void writeDouble​(double v)
      将 double值写入输出流,该值由8个字节组成。
      void writeFloat​(float v)
      将 float值写入输出流,该值由四个字节组成。
      void writeInt​(int v)
      将 int值写入输出流,该值由四个字节组成。
      void writeLong​(long v)
      将 long值写入输出流,该值由8个字节组成。
      void writeShort​(int v)
      将两个字节写入输出流以表示参数的值。
      void writeUTF​(String s)
      将两个字节的长度信息写入输出流,然后是字符串 s中每个字符的 modified UTF-8表示。
    • 方法详细信息

      • write

        void write​(int b)
            throws IOException
        将参数b的八个低位写入输出流。 b的24个高位被忽略。
        参数
        b - 要写入的字节。
        异常
        IOException - 如果发生I / O错误。
      • write

        void write​(byte[] b)
            throws IOException
        将输出流写入数组b所有字节。 如果b是null ,则抛出NullPointerException 。 如果b.length为零,则不写入任何字节。 否则,首先写入字节b[0] ,然后写入b[1] ,依此类推; 写的最后一个字节是b[b.length-1] 。
        参数
        b - 数据。
        异常
        IOException - 如果发生I / O错误。
      • write

        void write​(byte[] b,
                   int off,
                   int len)
            throws IOException
        将数组b len字节按顺序写入输出流。 如果b是null ,则抛出NullPointerException 。 如果off为负数,或者len为负数,或者off+len大于数组b的长度,则抛出IndexOutOfBoundsException 。 如果len为零,则不写入任何字节。 否则,首先写入字节b[off] ,然后写入b[off+1] ,依此类推; 写的最后一个字节是b[off+len-1] 。
        参数
        b - 数据。
        off - 数据中的起始偏移量。
        len - 要写入的字节数。
        异常
        IOException - 如果发生I / O错误。
      • writeBoolean

        void writeBoolean​(boolean v)
                   throws IOException
        将boolean值写入此输出流。 如果参数v为true ,则写入值(byte)1 ; 如果v是false ,则写入值(byte)0 。 该方法写入的字节可以通过接口DataInput的readBoolean方法读取,然后返回boolean等于v 。
        参数
        v - 要写入的布尔值。
        异常
        IOException - 如果发生I / O错误。
      • writeByte

        void writeByte​(int v)
                throws IOException
        将参数v的八个低位写入输出流。 v的24个高位被忽略。 (这意味着writeByte不完全一样的东西作为write为整数参数。)此方法写入的字节可以由读取readByte接口的方法DataInput ,然后将返回一个byte等于(byte)v 。
        参数
        v - 要写入的字节值。
        异常
        IOException - 如果发生I / O错误。
      • writeShort

        void writeShort​(int v)
                 throws IOException
        将两个字节写入输出流以表示参数的值。 按所示顺序写入的字节值为:
           (byte)(0xff & (v >> 8)) (byte)(0xff & v)  

        该方法写入的字节可以通过接口DataInput的readShort方法读取,然后返回short等于(short)v 。

        参数
        v - 要写入的 short值。
        异常
        IOException - 如果发生I / O错误。
      • writeChar

        void writeChar​(int v)
                throws IOException
        将char值写入输出流,该值由两个字节组成。 按所示顺序写入的字节值为:
           (byte)(0xff & (v >> 8)) (byte)(0xff & v)  

        该方法写入的字节可以通过接口DataInput的readChar方法读取,然后返回char等于(char)v 。

        参数
        v - 要写入的值 char 。
        异常
        IOException - 如果发生I / O错误。
      • writeInt

        void writeInt​(int v)
               throws IOException
        将int值写入输出流,该值由四个字节组成。 按所示顺序写入的字节值为:
           (byte)(0xff & (v >> 24)) (byte)(0xff & (v >> 16)) (byte)(0xff & (v >> 8)) (byte)(0xff & v)  

        该方法写入的字节可以通过接口DataInput的readInt方法读取,然后返回int等于v 。

        参数
        v - 要写入的值 int 。
        异常
        IOException - 如果发生I / O错误。
      • writeLong

        void writeLong​(long v)
                throws IOException
        将long值写入输出流,该值由8个字节组成。 按所示顺序写入的字节值为:
           (byte)(0xff & (v >> 56)) (byte)(0xff & (v >> 48)) (byte)(0xff & (v >> 40)) (byte)(0xff & (v >> 32)) (byte)(0xff & (v >> 24)) (byte)(0xff & (v >> 16)) (byte)(0xff & (v >> 8)) (byte)(0xff & v)  

        该方法写入的字节可以通过接口DataInput的readLong方法读取,然后返回long等于v 。

        参数
        v - 要写入的值 long 。
        异常
        IOException - 如果发生I / O错误。
      • writeFloat

        void writeFloat​(float v)
                 throws IOException
        将float值写入输出流,该值由四个字节组成。 它这样做是因为,如果它首先将这个float值到int在完全相同的方式Float.floatToIntBits方法,然后再写入int在完全相同的方式值writeInt方法。 由该方法写入的字节可以由接口DataInput的readFloat方法读取,然后将返回float等于v 。
        参数
        v - 要写入的值 float 。
        异常
        IOException - 如果发生I / O错误。
      • writeDouble

        void writeDouble​(double v)
                  throws IOException
        将double值写入输出流,该值由8个字节组成。 它这样做是因为,如果它首先将这个double值到long在完全相同的方式Double.doubleToLongBits方法,然后再写入long在完全相同的方式值writeLong方法。 通过该方法写入的字节可以通过接口DataInput的readDouble方法读取,然后返回double等于v 。
        参数
        v - 要写入的值 double 。
        异常
        IOException - 如果发生I / O错误。
      • writeBytes

        void writeBytes​(String s)
                 throws IOException
        将字符串写入输出流。 对于字符串s中的每个字符(按顺序),将一个字节写入输出流。 如果s是null ,则抛出NullPointerException 。

        如果s.length为零,则不写入任何字节。 否则,首先写入字符s[0] ,然后写入s[1] ,依此类推; 最后写的字符是s[s.length-1] 。 对于每个字符,写入一个字节,即低位字节,与writeByte方法完全相同。 字符串中每个字符的高位8位被忽略。

        参数
        s - 要写入的字节串。
        异常
        IOException - 如果发生I / O错误。
      • writeChars

        void writeChars​(String s)
                 throws IOException
        将字符串s中的每个字符按s写入输出流,每个字符两个字节。 如果s是null ,则抛出NullPointerException 。 如果s.length为零,则不写入任何字符。 否则,首先写入字符s[0] ,然后写入s[1] ,依此类推; 最后写的字符是s[s.length-1] 。 对于每个字符,实际上写入两个字节,首先是高位字节,完全按照writeChar方法的方式。
        参数
        s - 要写入的字符串值。
        异常
        IOException - 如果发生I / O错误。
      • writeUTF

        void writeUTF​(String s)
               throws IOException
        将两个字节的长度信息写入输出流,然后是字符串s中每个字符的modified UTF-8表示。 如果s是null ,则抛出NullPointerException 。 字符串s中的每个字符都将转换为一个,两个或三个字节的组,具体取决于字符的值。

        如果字符c在\u0001到\u007f范围内,则由一个字节表示:

          (byte)c 

        如果字符c是\u0000或者在\u0080到\u07ff范围内,那么它由两个字节表示,按所示顺序写入:

           (byte)(0xc0 | (0x1f & (c >> 6))) (byte)(0x80 | (0x3f & c))  

        如果字符c在\u0800到uffff范围内,那么它由三个字节表示,按所示顺序写入:

           (byte)(0xe0 | (0x0f & (c >> 12))) (byte)(0x80 | (0x3f & (c >> 6))) (byte)(0x80 | (0x3f & c))  

        首先,计算表示s所有字符所需的总字节数。 如果此数字大于65535 ,则抛出UTFDataFormatException 。 否则,该长度writeShort方法的方式写入输出流; 在此之后,写入字符串s的每个字符的一个,两个或三个字节的表示。

        由该方法写入的字节可以由接口DataInput的readUTF方法读取,然后将返回String等于s 。

        参数
        s - 要写入的字符串值。
        异常
        IOException - 如果发生I / O错误。