位置:首頁 > 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  ,