import ohos.hiviewdfx.HiLog;
import ohos.hiviewdfx.HiLogLabel;
import ohos.hiviewdfx.HiLogConst;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.PushbackInputStream;
public class PushbackInputStreamExample {
private static final HiLogLabel LABEL = new HiLogLabel(HiLogConst.DEBUG, 0x00201, "PushbackInputStreamExample");
public static void main(String[] args) {
// 创建一个包含数据的字节数组
byte[] data = "Hello, HarmonyOS!".getBytes();
try {
// 创建ByteArrayInputStream对象,用于从字节数组读取数据
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(data);
// 创建PushbackInputStream对象,将其包装为字节输入流
PushbackInputStream pushbackInputStream = new PushbackInputStream(byteArrayInputStream);
// 读取字节数据
int byteRead = pushbackInputStream.read();
HiLog.info(LABEL, "Read byte: {}", (char) byteRead);
// 推回读取的字节
pushbackInputStream.unread(byteRead);
// 再次读取字节数据
byteRead = pushbackInputStream.read();
HiLog.info(LABEL, "Read byte again: {}", (char) byteRead);
// 关闭流
pushbackInputStream.close();
} catch (IOException e) {
HiLog.error(LABEL, "发生错误:{}", e.getMessage());
}
}
}
在这个例子中,创建了一个包含数据的字节数组,并使用ByteArrayInputStream将其包装为字节输入流。然后,创建了PushbackInputStream,并通过unread方法将读取的字节推回到流中。最后,再次读取字节,可以看到推回的字节被成功读取。请注意,在实际应用中,你可能需要根据你的需求处理更多字节数据。
转载请注明出处:http://www.pingtaimeng.com/article/detail/3056/鸿蒙OS