首页 > 编程语言 > 详细

java-数据流

时间:2021-02-16 23:27:49      阅读:26      评论:0      收藏:0      [点我收藏+]

数据流是建立在FileInputStream和FileOutputStream上的一种IO流,它可以读写布尔值,整形,字符串。

但是要想使用FileInputStream读取数据,必须用FileOutputStream写入数据才行,因为数据在写入时会被标记,只有拥有此标记的数据才能被读取,否则会报错

这就是一份报错的代码

 1 package IO流;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.FileOutputStream;
 5 import java.io.File;
 6 import java.io.DataInputStream;
 7 import java.io.DataOutputStream;
 8 import java.io.IOException;
 9 
10 public class 数据流 {
11 
12     public static void main(String[] args) {
13         File f=new File("D://1.txt");
14         try(
15                 FileInputStream fin=new FileInputStream(f);
16                 DataInputStream din=new DataInputStream(fin);
17             ){
18             String s=din.readUTF();
19             int i=din.readInt();
20             Boolean b=din.readBoolean();
21             System.out.println(s);
22             System.out.println(i);
23             System.out.println(b);
24         }catch(IOException e) {
25             e.printStackTrace();
26         }
27     }
28 }

这是一份成功写入后读取的的代码

 1 package IO流;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.FileOutputStream;
 5 import java.io.File;
 6 import java.io.DataInputStream;
 7 import java.io.DataOutputStream;
 8 import java.io.IOException;
 9 
10 public class 数据流 {
11 
12     public static void main(String[] args) {
13         File f=new File("D://1.txt");
14         try(
15                 FileOutputStream fout=new FileOutputStream(f);
16                 DataOutputStream dout=new DataOutputStream(fout);
17                 FileInputStream fin=new FileInputStream(f);
18                 DataInputStream din=new DataInputStream(fin);
19             ){
20             dout.writeUTF("Hello, World!");
21             dout.writeInt(123456);
22             dout.writeBoolean(true);
23             String s=din.readUTF();
24             int i=din.readInt();
25             Boolean b=din.readBoolean();
26             System.out.println(s);
27             System.out.println(i);
28             System.out.println(b);
29         }catch(IOException e) {
30             e.printStackTrace();
31         }
32     }
33 }

技术分享图片

 

 在编写代码的时候发现,数据流一次写入永久保存,读取操作并不会删除这些内容。并且写入流不会因为流的关闭而删除写入的内容,因此数据流不是一种缓存流而是一种直接和硬盘对接的IO流。

java-数据流

原文:https://www.cnblogs.com/wangqianming12138/p/14407640.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!