InputStream类mark()方法
- mark() 方法可在
java.io
包。 - mark() 方法用于标记此 InputStream 中的当前位置,当我们调用 reset() 方法时,它将流重置为最近调用 mark() 方法设置的位置。
- mark() 方法是一个非静态方法,它只能通过类对象访问,如果我们尝试使用类名访问方法,那么我们将得到一个错误。
- mark() 方法在标记流时不会抛出异常。
用法:
public void mark(int r_limit);
参数:
int r_limit
– 表示在标记无效之前可以读取的最大字节数。
返回值:
该方法的返回类型是void
,它什么都不返回。
例:
// Java program to demonstrate the example
// of void mark(int r_limit) method
// of InputStream
import java.io.*;
public class MarkOfIS {
public static void main(String[] args) throws Exception {
InputStream is_stm = null;
int val = 0;
try {
// Instantiates FileInputStream
is_stm = new FileInputStream("D:\\includehelp.txt");
// By using read() method isto
// read the character from is_stm
char ch1 = (char) is_stm.read();
char ch2 = (char) is_stm.read();
System.out.println("ch1:" + ch1);
System.out.println("ch2:" + ch2);
// By using mark() method isto
// set the current position in this
// is_stm
System.out.println("is_stm.mark(0):");
is_stm.mark(0);
char ch3 = (char) is_stm.read();
char ch4 = (char) is_stm.read();
System.out.println("ch3:" + ch3);
System.out.println("ch4:" + ch4);
// By using reset() method isto
// reset the stream to the position
// set by the call mark() method
System.out.println("is_stm.reset():");
is_stm.reset();
char ch5 = (char) is_stm.read();
char ch6 = (char) is_stm.read();
System.out.println("ch3:" + ch5);
System.out.println("ch4:" + ch6);
} catch (Exception ex) {
System.out.println("Reset Not Supported");
} finally {
// with the help of this block is to
// free all necessary resources linked
// with the stream
if (is_stm != null) {
is_stm.close();
}
}
}
}
输出
ch1:J ch2:A is_stm.mark(0): ch3:V ch4:A is_stm.reset(): Reset Not Supported
相关用法
- Java InputStream markSupported()用法及代码示例
- Java InputStream available()用法及代码示例
- Java InputStream skip()用法及代码示例
- Java InputStream reset()用法及代码示例
- Java InputStream close()用法及代码示例
- Java InputStreamReader getEncoding()用法及代码示例
- Java InputStreamReader close()用法及代码示例
- Java InputStreamReader ready()用法及代码示例
- Java IntBuffer clear()用法及代码示例
- Java Inflater needsInput()用法及代码示例
- Java IntStream.Builder build()用法及代码示例
- Java IntSummaryStatistics getAverage()用法及代码示例
- Java Integer doubleValue()用法及代码示例
- Java Guava Ints lastIndexOf()用法及代码示例
- Java Instant query()用法及代码示例
- Java Inflater finished()用法及代码示例
- Java Instant plus()用法及代码示例
- Java Inflater getAdler()用法及代码示例
- Java IntBuffer mark()用法及代码示例
- Java IntBuffer equals()用法及代码示例
注:本文由纯净天空筛选整理自Preeti Jain大神的英文原创作品 Java InputStream mark() Method with Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。