位置:首页 > Java技术 > Java基础教程 > Java DataInputStream

Java DataInputStream

数据输入流用于在数据输出流的上下文中,并且可以被用来读取原语。

下面是构造函数来创建一个InputStream:

InputStream in = DataInputStream(InputStream in);

一旦有数据输入流对象,再有就是使用helper方法的列表,它可以用来读取流或做其他操作。

SN 方法描述
1 public final int read(byte[] r, int off, int len)throws IOException
从输入流中读取len个数据字节到字节数组。返回读入缓冲区的字节总数,如果它是文件的末尾则返回-1。
2 Public final int read(byte [] b)throws IOException
读取的字节数组从InputStream一些字节的存储。返回读入缓冲区的字节总数否则返回-1,如果它是文件的末尾。
3 (a) public final Boolean readBooolean()throws IOException,
(b) public final byte readByte()throws IOException,
(c) public final short readShort()throws IOException 
(d) public final Int readInt()throws IOException

这些方法将读取从包含的输入流中的字节。返回下两个字节的InputStream作为特定的基本类型。
4 public String readLine() throws IOException
读取从输入流中的文本的下一行。它读取连续的字节,每个字节分别转换成一个字符,直到遇到行结束符或文件结束,读取的字符,然后返回一个字符串。

例子:

下面是例子来演示DataInputStream和数据输入流。这个例子中读取文件test.txt的5行,并给出这些转换成线大写字母,最后将它们拷贝到另一个文件名为test1.txt。

import java.io.*;

public class Test{
   public static void main(String args[])throws IOException{

      DataInputStream d = new DataInputStream(new 
                               FileInputStream("test.txt"));

      DataOutputStream out = new DataOutputStream(new 
                               FileOutputStream("test1.txt"));

      String count;
      while((count = d.readLine()) != null){
          String u = count.toUpperCase();
          System.out.println(u);
          out.writeBytes(u + "  ,");
      }
      d.close();
      out.close();
   }
}

下面是上述程序的运行示例结果:

THIS IS TEST 1  ,
THIS IS TEST 2  ,
THIS IS TEST 3  ,
THIS IS TEST 4  ,
THIS IS TEST 5  ,