简体   繁体   中英

Reading from third line of text file

How can I start reading from the third line of text file in Java? I want to store 12 in 'nodes' variable, 14 in'edges' variable. 12334 in different variable and so on. My input text file consisting of integers goes like this:

12
14
12334 12214 25
32151 32151 85
21514 51454 20
.
.
.
.
.

         try
                {

                    for(i=0;i<2;i++)
                            array[i] = inputFile.nextInt();
                    nodes=array[0];
                    edges=array[1];
                    break;

                    for(i=2;i<5;i++)
                     {
                            array1[i] = inputFile.nextInt();
                    System.out.println(array1[i]);
                            }



                        }

Using Scanner :

Scanner sc = new Scanner(myFile);
int lineIndex = 0;
while(sc.hasNextLine()) {
    String line = sc.nextLine();
    if(++lineIndex > 3) {
        // do something
    }
}

Note : Having break is going to terminate the outer loop

Suggestiones how to solve this

1 . Either use BufferReader or Scanner class.

2 . Have a counter variable set to zero

3 . keep reading line and check if it is equal to 3 yet

4 . continue reading line, but when the counter is equal 3 , save each line in either variable or Array

Difference between BufferReader and Scanner

1 . BufferedReader has significantly larger buffer memory than Scanner. Use BufferedReader if you want to get long strings from a stream, and use Scanner if you want to parse specific type of token from a stream.

2 . Scanner can use tokenize using custom delimiter and parse the stream into primitive types of data, while BufferedReader can only read and store String.

3 . BufferedReader is synchronous while Scanner is not. Use BufferedReader if you're working with multiple threads.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM