Java DataInputStream
Java DataInputStream类允许应用程序以独立于机器的方式从输入流中读取原始数据。
Java应用程序通常使用数据输出流来写入数据,这些数据以后可以由数据输入流读取。
Java DataInputStream类声明
让我们看看java.io.DataInputStream类的声明:
public class DataInputStream extends FilterInputStream implements DataInput
Java DataInputStream类方法
方法 |
说明 |
int read(char[] b) |
它用于从输入流中读取字节数。 |
int read(char[] b,int close,int len) |
它用于从输入流中读取 len 个字节的数据。 |
int readInt() |
它用于读取输入字节并返回一个int值。 |
byte readByte() |
用于读取和返回一个输入字节。 |
char readChar() |
它用于读取两个输入字节并返回一个char值。 |
double readDouble() |
用于读取八个输入字节并返回一个双精度值。 |
boolean readBoolean() |
用于读取一个输入字节,如果字节不为零,则返回true,如果字节为零,则返回false。 |
int skipBytes(int x) |
它用于跳过输入流中x个字节的数据。 |
String readUTF() |
它用于读取使用UTF-8格式编码的字符串。 |
void readFully(byte [] b) |
它用于从输入流中读取字节并将其存储到缓冲区array中。 |
void readFully(byte [] b,int off,int len) |
它用于从输入流中读取 len 个字节。 |
DataInputStream类的示例
在此示例中,我们正在从文件testout.txt文件中读取数据。
package com.lidihuo;
import java.io.*;
public class DataStreamExample {
public static void main(String[] args) throws IOException {
InputStream input = new FileInputStream("D:\\testout.txt");
DataInputStream inst = new DataInputStream(input);
int count = input.available();
byte[] ary = new byte[count];
inst.read(ary);
for (byte bt : ary) {
char k = (char) bt;
System.out.print(k+"-");
}
}
}
在这里,我们假设您在
" testout.txt" 文件中具有以下数据:
输出: