Java LineNumberReader mark()方法与示例

LineNumberReader类mark()方法 (LineNumberReader Class mark() method)

  • mark() method is available in java.io package.

    mark()方法在java.io包中可用。

  • mark() method is used to set the current position in this LineNumberReader stream and whenever we call to reset() so it will reset the stream to the position set by the most recent call of mark() method.

    mark()方法用于设置此LineNumberReader流中的当前位置,并且每当我们调用reset()时,它将它将流重置为由mark()方法的最新调用设置的位置。

  • mark() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.

    mark()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • mark() method may throw an exception at the time of marking the stream.

    mark()方法在标记流时可能会引发异常。

    IOException: This exception may throw when the given parameter is not valid.

    IOException :如果给定参数无效,则可能引发此异常。

Syntax:

句法:

    public int mark();

Parameter(s):

参数:

  • int r_limit – represents the limit on the number of characters that can be read before the mark gets invalid.

    int r_limit –表示标记无效之前可以读取的字符数限制。

Return value:

返回值:

The return type of the method is void, it returns nothing.

该方法的返回类型为void ,不返回任何内容。

Example:

例:

// Java program to demonstrate the example 
// of void mark(int r_limit) method of 
// LineNumberReader

import java.io.*;

public class MarkOfLNR {
 public static void main(String[] args) throws Exception {
  FileReader fr_stm = null;
  LineNumberReader line_r = null;
  int val = 0;

  try {
   // Instantiates FileReader and LineNumberReader
   fr_stm = new FileReader("D:\\includehelp.txt");
   line_r = new LineNumberReader(fr_stm);

   // By using read() method isto 
   // read the character from line_r
   char ch1 = (char) line_r.read();
   char ch2 = (char) line_r.read();
   char ch3 = (char) line_r.read();

   System.out.println("ch1: " + ch1);
   System.out.println("ch2: " + ch2);
   System.out.println("ch3: " + ch3);

   // By using mark() method isto
   // set the current position in this
   // line_r

   System.out.println("line_r.mark(0): ");
   line_r.mark(0);
   char ch4 = (char) line_r.read();
   char ch5 = (char) line_r.read();

   System.out.println("ch4: " + ch4);
   System.out.println("ch5: " + ch5);

   // By using reset() method isto
   // reset the stream to the position 
   // set by the call mark() method

   System.out.println("line_r.reset(): ");
   line_r.reset();
   char ch6 = (char) line_r.read();
   char ch7 = (char) line_r.read();
   char ch8 = (char) line_r.read();
   char ch9 = (char) line_r.read();
   char ch10 = (char) line_r.read();
   char ch11 = (char) line_r.read();

   System.out.println("ch4: " + ch6);
   System.out.println("ch5: " + ch7);
   System.out.println("ch6: " + ch8);
   System.out.println("ch7: " + ch9);
   System.out.println("ch8: " + ch10);
   System.out.println("ch9: " + ch11);

  } catch (Exception ex) {
   System.out.println(ex.toString());
  } finally {
   // with the help of this block is to
   // free all necessary resources linked
   // with the stream
   if (fr_stm != null) {
    fr_stm.close();

    if (line_r != null) {
     line_r.close();
    }
   }
  }
 }
}

Output

输出量

ch1: J
ch2: A
ch3: V
line_r.mark(0):
ch4: A
ch5: W
line_r.reset():
ch4: A
ch5: W
ch6: O
ch7: R
ch8: L
ch9: D


翻译自: https://www.includehelp.com/java/linenumberreader-mark-method-with-example.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值