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 ,