您的位置:首页 > 编程语言 > Java开发

【基础篇】java中输入输出的总括——数据流

2008-04-19 01:24 405 查看
不想把别人的东西占为己有,但是想方便日后参考还是摘录了。

烦死了,看Java编程思想三或者四,感觉老外写书跟我们看书的习惯都不一样的,总感觉老外写的东西就像是在写手册,全面但是烦琐。

【原则】不要告诉我历史,告诉我怎么做就行了。

【事实】输出输入类,就是TMD的简单,为什么非要弄成手册,让我这个菜鸟看不懂

【鸣谢】中国IT实验室的总结篇

——————————————————————————————————————————————————————————

数据流

DataInputStream和DataOutputStream
 在提供了字节流的读写手段的同时,
 以统一的通用的形式向输入流中写入boolean,int,long,double等基本数据类型,并可以在次把基本数据类型的值读取回来。
 提供了字符串读写的手段。
 分别实现了DataInput和DataOutput接口
声明类:
Public class DataInputStream extends filterInputStream implements DataInput
例 8.9 数据流。
本例演示数据流的使用方法。
程序如下:
import java.io.*;
public class Datastream
{
public static void main(String arg[])
{
String fname = "student1.dat";
new Student1("Wang").save(fname);
new Student1("Li").save(fname);
Student1.display(fname);
}
}
class Student1
{
static int count=0;
int number=1;
String name;
Student1(String n1)
{
this.count++; //编号自动加1
this.number = this.count;
this.name = n1;
}
Student1()
{
this("");
}
void save(String fname)
{
try
{ //添加方式创建文件输出流
FileOutputStream fout = new FileOutputStream(fname,true);
DataOutputStream dout = new DataOutputStream(fout);
dout.writeInt(this.number);
dout.writeChars(this.name+"/n");
dout.close();
}
catch (IOException ioe){}
}
static void display(String fname)
{
try
{
FileInputStream fin = new FileInputStream(fname);
DataInputStream din = new DataInputStream(fin);
int i = din.readInt();
while (i!=-1) //输入流未结束时
{
System.out.print(i+" ");
char ch ;
while ((ch=din.readChar())!='/n') //字符串未结束时
System.out.print(ch);
System.out.println();
i = din.readInt();
}
din.close();
}
catch (IOException ioe){}
}
}
程序运行结果如下:
1 Wang
2 Li
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: