📜  Java.io.DataOutputStream 在Java中

📅  最后修改于: 2022-05-13 01:54:18.825000             🧑  作者: Mango

Java.io.DataOutputStream 在Java中

数据输出流允许应用程序以可移植的方式将原始Java数据类型写入输出流。然后应用程序可以使用数据输入流来读回数据。让我们先讨论一下这个类的构造函数,然后再讨论这个类的方法。

构造函数: DataOutputStream(输出流输出)

创建新的数据输出流以将数据写入指定的基础输出流。现在让我们在实现之前讨论这个类的重要方法 相同的。  

方法一: void flush()

刷新此数据输出流。

句法:

public void flush() throws IOException

抛出异常: IOException

方法二: size()

返回写入的计数器的当前值,到目前为止写入此数据输出流的字节数

句法:

public final int size()

返回类型:写入字段的整数值

方法三:写()

将指定字节数组中的 len 个字节从 offset off 处开始写入底层输出流。

句法:

void write (byte[] b, int off, int len)

参数:

  • 字节数组
  • 关闭
  • 字节数组的长度

返回类型:无效

方法四:

语法

public void write(byte[] b, int off,int len)

参数:

  • 数据
  • 数据中的起始偏移量
  • 要写入的字节数

异常: IOException

方法5:无效写入(int b):

将指定字节(参数 b 的低八位)写入底层输出流。

句法:

public void write(int b)
throws IOException

返回类型:无效

参数:要写入的字节

方法六: writeBoolean()

将布尔值作为 1 字节值写入基础输出流。

句法:

void writeBoolean (boolean v) 

返回类型:无效

参数:布尔值

方法七: writeBoolean()

句法:

public final void writeBoolean(boolean v)
throws IOException 

参数:要写入的布尔值。

抛出: IOException

方法八: writeByte()

将一个字节作为 1 字节值写入底层输出流。

句法:

public final void writeByte(int v)
throws IOException 

参数:要写入的字节值

抛出异常: IOException

方法 9: writeChar()

将 char 作为 2 字节值写入底层输出流,先是高字节。

句法:

public final void writeChar(int v)
throws IOException

参数:要写入的字符值。

异常:IOException

方法10: void writeDouble(double v)

使用 Double 类中的 doubleToLongBits 方法将 double 参数转换为 long,然后将该 long 值作为 8 字节数量写入底层输出流,先是高字节。

句法:

public final void writeDouble(double v)
throws IOException

参数:要写入的双精度值

抛出异常: IOException

方法11: writeFloat(float v)

使用 Float 类中的 floatToIntBits 方法将 float 参数转换为 int,然后将该 int 值作为 4 字节数量写入底层输出流,MSB 优先。

句法:

public final void writeFloat(float v)
throws IOException

返回类型:无效

参数:要写入的浮点值。

抛出异常: IOException

方法 12: writeInt()

将一个 int 作为四个字节写入底层输出流,先是高字节。

句法:

public final void writeInt(int v)
throws IOException

参数:要写入的 int。

返回类型:无效

抛出的异常:将 int 作为四个字节写入底层输出流,高字节在前。

方法 13: writeLong()

将 long 作为 8 个字节写入底层输出流,先是高字节。

句法 :

public final void writeLong(long v)
throws IOException

参数: Long 要写入。

抛出: IOException

方法 14: writeShort():

以两个字节的形式将一个短路写入底层输出流,先是高字节。

返回类型:无效

参数:要写入的short

句法 :

public final void writeShort(int v)
throws IOException

方法 15: writeUTF (String str)

使用修改后的 UTF-8 编码以与机器无关的方式将字符串写入底层输出流。

参数:要写入的字符串

返回类型:无效

抛出异常: IOException

例子:

Java
// Java Program to Demonstrate DataOutputStream
 
// Importing required classes
import java.io.*;
 
// Main class
// DataOutputStreamDemo
class GFG {
        // Main driver method
        public static void main(String args[]) throws IOException {
                // Try block to check for exceptions
                // Writing the data using DataOutputStream
                try ( DataOutputStream dout =
                                                new DataOutputStream(new FileOutputStream("file.dat")) ) {
                        dout.writeDouble(1.1);
                        dout.writeInt(55);
                        dout.writeBoolean(true);
                        dout.writeChar('4');
                }
 
                catch (FileNotFoundException ex) {
                        System.out.println("Cannot Open the Output File");
                        return;
                }
 
                // Reading the data back using DataInputStream
                try ( DataInputStream din =
                                                new DataInputStream(new FileInputStream("file.dat")) ) {
                        double a = din.readDouble();
                        int b = din.readInt();
 
                        boolean c = din.readBoolean();
                        char d = din.readChar();
 
                        System.out.println("Values: " + a + " " + b + " " + c + " " + d);
                }
 
                // Catch block to handle FileNotFoundException
                catch (FileNotFoundException e) {
                        System.out.println("Cannot Open the Input File");
                        return;
                }
        }
}


输出:

Values: 1.1 55 true 4