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 ,