
- Java.io - Home
- Java.io - BufferedInputStream
- Java.io - BufferedOutputStream
- Java.io - BufferedReader
- Java.io - BufferedWriter
- Java.io - ByteArrayInputStream
- Java.io - ByteArrayOutputStream
- Java.io - CharArrayReader
- Java.io - CharArrayWriter
- Java.io - Console
- Java.io - DataInputStream
- Java.io - DataOutputStream
- Java.io - File
- Java.io - FileDescriptor
- Java.io - FileInputStream
- Java.io - FileOutputStream
- Java.io - FilePermission
- Java.io - FileReader
- Java.io - FileWriter
- Java.io - FilterInputStream
- Java.io - FilterOutputStream
- Java.io - FilterReader
- Java.io - FilterWriter
- Java.io - InputStream
- Java.io - InputStreamReader
- Java.io - LineNumberInputStream
- Java.io - LineNumberReader
- Java.io - ObjectInputStream
- Java.io - ObjectInputStream.GetField
- Java.io - ObjectOutputStream
- io - ObjectOutputStream.PutField
- Java.io - ObjectStreamClass
- Java.io - ObjectStreamField
- Java.io - OutputStream
- Java.io - OutputStreamWriter
- Java.io - PipedInputStream
- Java.io - PipedOutputStream
- Java.io - PipedReader
- Java.io - PipedWriter
- Java.io - PrintStream
- Java.io - PrintWriter
- Java.io - PushbackInputStream
- Java.io - PushbackReader
- Java.io - RandomAccessFile
- Java.io - Reader
- Java.io - SequenceInputStream
- Java.io - SerializablePermission
- Java.io - StreamTokenizer
- Java.io - StringBufferInputStream
- Java.io - StringReader
- Java.io - StringWriter
- Java.io - Writer
- Java.io package Useful Resources
- Java.io - Discussion
Java - LineNumberReader setLineNumber(int lineNumber) method
Description
The Java LineNumberReader setLineNumber(int lineNumber) method manually sets the line number to a specified value lineNumber. However, it does not move the reading position. It only updates the internal line number counter.
Declaration
Following is the declaration for java.io.LineNumberReader.setLineNumber(int lineNumber) method −
public void setLineNumber(int lineNumber)
Parameters
lineNumber − an int specifying the current line number to be set.
Return Value
The method does not return any value.
Exception
NA
Example - Usage of LineNumberReader setLineNumber(int lineNumber) method
The following example shows the usage of Java LineNumberReader setLineNumber(int lineNumber) method.
LineNumberReaderDemo.java
package com.tutorialspoint; import java.io.FileReader; import java.io.IOException; import java.io.LineNumberReader; public class LineNumberReaderDemo { public static void main(String[] args) throws IOException { FileReader fr = null; LineNumberReader lnr = null; int i; try { // create new reader fr = new FileReader("test.txt"); lnr = new LineNumberReader(fr); // set current line number lnr.setLineNumber(100); System.out.println("setLineNumber(100) is invoked"); // get current line number i = lnr.getLineNumber(); System.out.print("Current line number: "+i); } catch(Exception e) { // if any error occurs e.printStackTrace(); } finally { // closes the stream and releases system resources if(fr!=null) fr.close(); if(lnr!=null) lnr.close(); } } }
Output(Assuming test.txt contains multiple lines)
Let us compile and run the above program, this will produce the following result−
setLineNumber(100) is invoked Current line number: 100
Example - Manually Setting the Line Number Before Reading
The following example shows the usage of Java LineNumberReader setLineNumber(int lineNumber) method. This example sets the starting line number to 100 before reading lines from a string.
LineNumberReaderDemo.java
package com.tutorialspoint; import java.io.IOException; import java.io.LineNumberReader; import java.io.StringReader; public class LineNumberReaderDemo { public static void main(String[] args) { String text = "First Line\nSecond Line\nThird Line"; LineNumberReader lnr = new LineNumberReader(new StringReader(text)); try { // Set line number to 100 before reading lnr.setLineNumber(100); System.out.println("Line Number before reading: " + lnr.getLineNumber()); System.out.println(lnr.readLine()); System.out.println("Line Number after first read: " + lnr.getLineNumber()); System.out.println(lnr.readLine()); System.out.println("Line Number after second read: " + lnr.getLineNumber()); lnr.close(); } catch (IOException e) { e.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result−
Line Number before reading: 100 First Line Line Number after first read: 101 Second Line Line Number after second read: 102
Explanation
Manually sets the starting line number to 100.
Reads the first line, so the line number increments to 101.
Reads the second line, so the line number increments to 102.
Example - Resetting the Line Number After Skipping Lines
The following example shows the usage of Java LineNumberReader setLineNumber(int lineNumber) method. This example reads two lines, then manually resets the line number to 50 before continuing.
LineNumberReaderDemo.java
package com.tutorialspoint; import java.io.IOException; import java.io.LineNumberReader; import java.io.StringReader; public class LineNumberReaderDemo { public static void main(String[] args) { String text = "Alpha\nBeta\nGamma\nDelta"; LineNumberReader lnr = new LineNumberReader(new StringReader(text)); try { System.out.println("Reading: " + lnr.readLine()); System.out.println("Line Number: " + lnr.getLineNumber()); System.out.println("Reading: " + lnr.readLine()); System.out.println("Line Number: " + lnr.getLineNumber()); // Reset line number to 50 (without moving the position) lnr.setLineNumber(50); System.out.println("Line Number manually set to: " + lnr.getLineNumber()); System.out.println("Reading: " + lnr.readLine()); System.out.println("Line Number after manual reset: " + lnr.getLineNumber()); lnr.close(); } catch (IOException e) { e.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result−
Reading: Alpha Line Number: 1 Reading: Beta Line Number: 2 Line Number manually set to: 50 Reading: Gamma Line Number after manual reset: 51
Explanation
Reads two lines, so the line number reaches 2.
Manually resets the line number to 50 (this does not move the position).
Reads "Gamma", and the line number increments to 51.