扫码一下
查看教程更方便
数据输出流允许应用程序以与机器无关方式将Java基本数据类型写到底层输出流。
下面的构造方法用来创建数据输出流对象。
DataInputStream dis = new DataInputStream(InputStream in);
创建对象成功后,可以参照以下列表给出的方法,对流进行写操作或者其他操作。
序号 | 方法 | 描述 |
---|---|---|
1 | public final void read(byte[] w, int off, int len)throws IOException | 从所包含的输入流中将 len 个字节读入一个字节数组中。如果len为-1,则返回已读字节数。 |
2 | Public final int read(byte [] b)throws IOException | 从所包含的输入流中读取一定数量的字节,并将它们存储到缓冲区数组 b 中。 |
3 | public final void readBooolean()throws IOException, public final void readByte()throws IOException, public final void readShort()throws IOException, public final void readInt()throws IOException |
从输入流中读取字节,返回输入流中两个字节作为对应的基本数据类型返回值。 |
4 | public String readLine() throws IOException | 从输入流中读取下一文本行。 |
下面的例子演示了DataInputStream和DataOutputStream的使用,该例从文本文件test.txt中读取5行,并转换成大写字母,最后保存在另一个文件test1.txt中。
test.tx 文件内容如下:
jiyik1
jiyik2
jiyik3
jiyik4
jiyik5
实例
import java.io.*; public class Test{ public static void main(String args[])throws IOException{ DataInputStream in = new DataInputStream(new FileInputStream("test.txt")); DataOutputStream out = new DataOutputStream(new FileOutputStream("test1.txt")); BufferedReader d = new BufferedReader(new InputStreamReader(in)); String count; while((count = d.readLine()) != null){ String u = count.toUpperCase(); System.out.println(u); out.writeBytes(u + " ,"); } d.close(); out.close(); } }
以上实例编译运行结果如下:
JIYIK1
JIYIK2
JIYIK3
JIYIK4
JIYIK5