“黑马程序员”IO流 DataInputStream与DataOutputStream的用法

 ------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

DataInputStream是数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。 DataInputStream 对于多线程访问不一定是安全的。 线程安全是可选的,它由此类方法的使用者负责。

DataOutputStream是OutputStream的子类,此类的定义如下:

public class DataOutputStream extends FilterOutputStream implements DataOutput

此类继承自FilterOutputStream类(FilterOutputStream是OutputStream的子类),同时实现了DataOutput接口,在DataOutput接口定义了一系列的写入各种数据的方法。

U提示:DataOutput接口的作用。

DataOutput是数据的输出接口,其中定义了各种数据的输出操作方法,例如,在DataOutputStream类中的各种writeXxx()方法就是此接口定义的,但是在数据输出时一般都会直接使用DataOutputStream,只有在对象序列化时才有可能直接操作到此接口,这一点将在讲解Externalizable接口时为读者介绍。

DataOutputStream类的常用方法如表12-16所示。

表12-16  DataOutputStream类的常用方法

序号

    

类型

    

1

public DataOutputStream

(OutputStream out)

构造

实例化对象

2

public final void write

Int(int v) throws 
IOException

普通

将一个int值以4-byte

值形式写入基础输出流中

3

public final void write

Double(double v) 
throws IOException

普通

写入一个double类型,

该值以8-byte值形式

写入基础输出流中

4

public final void writeChars

(String s) throws 
IOException

普通

将一个字符串写入到输出流中

5

public final void write

Char(int v) throws 
IOException

普通

将一个字符写入到输出流


例子:

package twenty_one;
import java.io.*;
public class four {
public static void main(String[] args)throws IOException {
// wr();
rd();
//wu();
/* OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("utf-8.txt"),"utf-8");
osw.write("你好");
osw.close();
*/
// ru();
}
public static void ru()throws IOException
{
DataInputStream dos=new DataInputStream(new FileInputStream("uda.txt"));
String  s=dos.readUTF();
System.out.println(s);
dos.close();
}
public static void wu()throws IOException
{
DataOutputStream dos=new DataOutputStream(new FileOutputStream("uda.txt"));
dos.writeUTF("你好");
dos.close();
}
public static void wr()throws IOException
{
DataOutputStream dos=new DataOutputStream(new FileOutputStream("data.txt"));
dos.writeInt(233);
dos.writeDouble(435.978);
dos.writeBoolean(true);
dos.close();
}
public static void rd()throws IOException
{
DataInputStream dis=new DataInputStream(new FileInputStream("data.txt"));
int num=dis.readInt();
double d=dis.readDouble();
boolean b=dis.readBoolean();
System.out.println("num="+num+"    "+"double="+d+"     "+"boolean="+b);
dis.close();
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值