Java ByteArrayInputStream.mark(int)
方法
原文:https://www.studytonight.com/java-file-io/java-bytearrayinputstream-mark-method
在本教程中,我们将学习 Java 中Bytearrainputstream类的mark(int readAheadLimit)
方法。此方法用于设置流中当前标记的位置。默认情况下,标记ByteArrayInputStream
标记在零位置。如果没有设置标记,那么标记的值就是传递给构造器的偏移量。
语法:
这是此方法的语法声明。它接受在标记位置无效之前可以读取的最大字节数限制,并且不返回任何值。
public void mark(int readAheadLimit)
示例 2:ByteArrayInputStream
标记()方法
这里,我们使用 mark()方法标记流中的位置,以便稍后可以检索相同的位置并从这一点开始读取。
import java.io.ByteArrayInputStream;
import java.io.IOException;
public class StudyTonight
{
public static void main(String[] args) throws IOException
{
byte[] buf = { 1, 2, 3, 4, 5 };
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(buf);
System.out.println(byteArrayInputStream.read());
System.out.println(byteArrayInputStream.read());
System.out.println(byteArrayInputStream.read());
System.out.println("Mark() called");
byteArrayInputStream.mark(0);
System.out.println(byteArrayInputStream.read());
System.out.println(byteArrayInputStream.read());
}
}
1 2 3 马克()名为 4 5
示例 2:ByteArrayInputStream
标记()方法
当我们调用 mark()方法时,它标记流中的位置,当我们调用 reset()方法时,我们开始从流中最近标记的位置读取数据。
import java.io.ByteArrayInputStream;
import java.io.IOException;
public class StudyTonight
{
public static void main(String[] args) throws IOException
{
byte[] buf = { 1, 2, 3 };
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(buf);
System.out.println(byteArrayInputStream.read());
System.out.println("Mark() method called");
byteArrayInputStream.mark(3);
System.out.println(byteArrayInputStream.read());
System.out.println(byteArrayInputStream.read());
}
}
1 马克()法称为 2 3
结论:
在本教程中,我们学习了 Java 中Bytearrainputstream类的mark(int readAheadLimit)
方法,该方法用于设置流中的当前标记位置。默认情况下,它在最初构造时标记在位置 0。