Java DataInputStream skipBytes()方法与示例
DataInputStream类skipBytes()方法
skipBytes()方法在java.io包中可用。
skipBytes()方法用于从此DataInputStream跳过给定数量的数据字节。
skipBytes()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
skipBytes()方法在跳过数据字节时可能会引发异常。
IOException:遇到任何输入/输出错误时,可能引发此异常。
语法:
public final int skipBytes(int number);
参数:
intnumber–表示要跳过的字节数。
返回值:
该方法的返回类型为int,它返回要跳过的确切字节数。
示例
//Java程序演示示例
//intskipBytes(intnumber)方法的
//DataInputStream-
import java.io.*;
public class SkipBytesOfDIS {
public static void main(String[] args) throws IOException {
InputStream is_stm = null;
DataInputStream dis_stm = null;
FileOutputStream fos_stm = null;
DataOutputStream dos_stm = null;
byte[] b_arr = {
12,
20,
45,
98,
75,
69,
30,
58,
47,
61,
83,
55
};
try {
//实例化FileInputStream-
//DataInputStream-, FileOutputStream
//和DataOutputStream-
fos_stm = new FileOutputStream("C:\\Users\\Preeti Jain\\Desktop\\programs\\includehelp.txt");
dos_stm = new DataOutputStream(fos_stm);
//循环写入每个字节直到结束
for (byte val: b_arr) {
//通过使用write()方法isto-
//将字节值写入
//DataOutputStreamdos_stm-
dos_stm.write(val);
}
is_stm = new FileInputStream("C:\\Users\\Preeti Jain\\Desktop\\programs\\includehelp.txt");
dis_stm = new DataInputStream(is_stm);
//循环读取可用数据直到结束
while (dis_stm.available() > 0) {
//通过使用skipBytes()方法是
//从流中跳过2个字节的数据
dis_stm.skipBytes(2);
//通过使用read()isto方法读取
//来自dis_stm的字节
int in = dis_stm.read();
System.out.println("dis_stm.read(): " + in );
}
} catch (Exception ex) {
System.out.println(ex.toString());
} finally {
//要释放链接的系统资源
//这些流
if (is_stm != null)
is_stm.close();
if (dis_stm != null)
dis_stm.close();
if (dos_stm != null)
dos_stm.close();
if (fos_stm != null)
fos_stm.close();
}
}
}输出结果
dis_stm.read(): 45 dis_stm.read(): 69 dis_stm.read(): 47 dis_stm.read(): 55