JavaSE DataInputStream和DataOutputStream流

 006zipb5zy7aavFlIke1e&690

DataInputStream和DataOutputStream是对InputStream和OutputStream字节流的格式化包装流,字节流读写是以字节为单位,对于象Java的数据类型比如int型就需要读写4次,double类型需要读写8个次,这样使用起就来非常不方便,同时也会影响性能。格式化包装流主要对Java的格式化类型进行读写操作,提供各种方便读写数据类型的方法。

DataInputStream:

 String readUTF()读取字符串

 int readInt()读取int型

 double readDouble()读取double型

 boolean readBoolean()读取boolean型

 等等。

DataOutputStream

 writeUTF(String)写字符串

 writeInt(int)写int型

 writeDouble(double)写double型

 writeBoolean(boolean)写boolean型

 等等。

 

示例1代码:

  public class TestDataOutputStream {

public static void main(String[] args) {

DataOutputStream dos=null;

FileOutputStream fos=null;

DataInputStream dis=null;

FileInputStream fis=null;

 

 

String str="Hello";

int a=123;

double d=12.3;

boolean bl=true;

try {

fos=new FileOutputStream("stream.dat");

dos=new DataOutputStream(fos);

dos.writeUTF(str);

dos.writeInt(a);

dos.writeDouble(d);

dos.writeBoolean(bl);

 

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally{

if(dos!=null){

try {

dos.flush();

dos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if(fos!=null)

try {

fos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

 

 

 

示例2代码:

 

public class TestDataInputStream{

public static void main(String[] args) {

DataInputStream dis=null;

FileInputStream fis=null;

try {

   fis=new FileInputStream("stream.dat");

   dis=new DataInputStream(fis);

   String str=dis.readUTF();

   int a=dis.readInt();

   double d=dis.readDouble();

   boolean bl=dis.readBoolean();

  

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally{

if(dis!=null){

try {

dis.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if(fis!=null)

try {

fis.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

 

转载于:https://my.oschina.net/u/2971691/blog/875699

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值