当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Java.io.DataOutputStream用法及代码示例


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

构造函数:DataOutputStream(OutputStream 输出)

创建新的数据输出流以将数据写入指定的底层输出流。现在让我们在实现此类之前先讨论该类的重要方法。

方法一:无效flush()

刷新此数据输出流。

句法:

public void flush() throws IOException

Note: It do overrides the flush() method in class FilterOutputStream

抛出异常:IO异常

方法二:size()

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

用法:

public final int size()

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

方法三:写()

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

用法:

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

参数:

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

返回类型:空白

方法四:

用法

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

Note: It overrides write() method in FilterOutputStream class.

参数:

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

异常:IO异常

方法5:void write(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

方法8:writeByte()

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

用法:

public final void writeByte(int v)
throws IOException 

参数:要写入的字节值

Exception Thrown:IO异常

方法九:writeChar()

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

用法:

public final void writeChar(int v)
throws IOException

参数:要写入的字符值。

Exception: IO异常

方法10:void writeDouble(double v)

使用 Double 类中的 doubleToLongBits 方法将 double 参数转换为 long,然后将该 long 值作为 8 字节数量(高字节在前)写入基础输出流。

用法:

public final void writeDouble(double v)
throws IOException

参数:要写入的双精度值

Exception thrown:IO异常

方法十一: writeFloat (浮点 v)

使用 Float 类中的 floatToIntBits 方法将 float 参数转换为 int,然后将该 int 值以 4 字节数量(最高有效位在前)的形式写入基础输出流。

用法:

public final void writeFloat(float v)
throws IOException

返回类型:空白

参数:要写入的浮点值。

Exception thrown:IO异常

方法十二:writeInt()

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

用法:

public final void writeInt(int v)
throws IOException

Parameters: 要写入的int。

返回类型:空白

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

方法13:writeLong()

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

用法:

public final void writeLong(long v)
throws IOException

参数:很长要写。

抛出:IOException

方法14:writeShort():

将一个短值作为两个字节写入底层输出流,先是高字节。

返回类型:空白

参数:待写的短篇

Syntax :

public final void writeShort(int v)
throws IOException

方法15:writeUTF(字符串str)

使用修改后的 UTF-8 编码以 machine-independent 方式将字符串写入基础输出流。

参数:要写入的字符串

返回类型:空白

抛出异常:IO异常

Note: There are certain important points to be remembered as listed: 

  • DataOutputStream and DataInputStream are often used together.
  • When a DataOutputStream is closed (by calling close( )), the underlying stream specified by out is also closed automatically.
  • There is no longer any explicit close() method call. The try-with-resources construct takes care of that.

例子:

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

Note: The above program uses try-with-resources so do it require JDK 7 or later.



相关用法


注:本文由纯净天空筛选整理自佚名大神的英文原创作品 Java.io.DataOutputStream in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。