Java DataOutputStream flush()方法与示例
DataOutputStream类flush()方法
flush()方法在java.io包中可用。
flush()方法用于刷新此流,并强制将字节写入基本流。
flush()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
flush()方法在刷新流时可能会引发异常。
IOException:遇到任何输入/输出错误时,可能引发此异常。
语法:
public void flush();
参数:
它不接受任何参数。
返回值:
该方法的返回类型为void,不返回任何内容。
示例
//Java程序演示示例
//flush()DataOutputStream的void方法的说明
import java.io.*;
public class FlushOfDOS {
public static void main(String[] args) throws IOException {
InputStream is_stm = null;
DataInputStream dis_stm = null;
FileOutputStream fos_stm = null;
DataOutputStream dos_stm = null;
byte[] b_arr = {
12,
20,
45,
98,
75,
69,
30,
58,
47,
61,
83,
55
};
try {
//实例化FileInputStream-
//DataInputStream,FileOutputStream-
//和DataOutputStream-
fos_stm = new FileOutputStream("C:\\Users\\Preeti Jain\\Desktop\\programs\\includehelp.txt");
dos_stm = new DataOutputStream(fos_stm);
is_stm = new FileInputStream("C:\\Users\\Preeti Jain\\Desktop\\programs\\includehelp.txt");
dis_stm = new DataInputStream(is_stm);
//循环写入每个字节直到结束
for (byte val: b_arr) {
//通过使用write()方法isto-
//将字节值写入
//DataOutputStreamdos_stm-
dos_stm.write(val);
}
//通过使用flush()方法isto-
//刷新流并强制字节
//立即写出
//缓冲输出
dos_stm.flush();
//循环读取可用数据直到结束
while (dis_stm.available() > 0) {
//通过使用read()isto方法读取
//来自dis_stm的字节
int in = dis_stm.read();
System.out.println("dis_stm.read(): " + in );
}
} catch (Exception ex) {
System.out.println(ex.toString());
} finally {
//要释放链接的系统资源
//这些流
if (is_stm != null)
is_stm.close();
if (dis_stm != null)
dis_stm.close();
if (dos_stm != null)
dos_stm.close();
if (fos_stm != null)
fos_stm.close();
}
}
}输出结果
dis_stm.read(): 12 dis_stm.read(): 20 dis_stm.read(): 45 dis_stm.read(): 98 dis_stm.read(): 75 dis_stm.read(): 69 dis_stm.read(): 30 dis_stm.read(): 58 dis_stm.read(): 47 dis_stm.read(): 61 dis_stm.read(): 83 dis_stm.read(): 55