Java DataInputStream类
DataInputStream在DataOutputStream的上下文中使用,可用于读取原始数据。
以下是创建InputStream的构造函数 –
InputStream in = new DataInputStream(InputStream in);
一旦你手头上有 DataInputStream 对象,那么就可以使用一系列辅助方法来读取流或对流进行其他操作。
序号 | 方法和描述 |
---|---|
1 | public final int read(byte[] r, int off, int len)throws IOException 从输入流中读取最多len个字节的数据到字节数组中。如果到达文件末尾,返回读取到缓冲区的总字节数,否则返回-1。 |
2 | Public final int read(byte [] b)throws IOException 从输入流中读取一些字节并存储到字节数组中。如果到达文件末尾,返回读取到缓冲区的总字节数,否则返回-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中读取字节。将InputStream的下两个字节作为特定的原始类型返回。 |
4 | public String readLine() throws IOException 从输入流中读取下一行文本。它逐字节读取连续的字节,并将每个字节单独转换为字符,直到遇到行终止符或文件末尾;然后将读取的字符作为字符串返回。 |
示例
以下是一个示例,演示了DataInputStream和DataOutputStream的使用。这个示例从文件test.txt中读取5行,并将这些行转换为大写字母,最后将它们复制到另一个文件test1.txt。
import java.io.*;
public class DataInput_Stream {
public static void main(String args[])throws IOException {
// writing string to a file encoded as modified UTF-8
DataOutputStream dataOut = new DataOutputStream(new FileOutputStream("E:\\file.txt"));
dataOut.writeUTF("hello");
// Reading data from the same file
DataInputStream dataIn = new DataInputStream(new FileInputStream("E:\\file.txt"));
while(dataIn.available()>0) {
String k = dataIn.readUTF();
System.out.print(k+" ");
}
}
}
以下是上述程序的示例运行结果 –
输出
hello