2016-08-07 5 views
-2

Scannerを使用して、指定された行からファイルの読み取りを開始しますか?Scannerを使用して特定の行から読み取りを開始

2行目からファイルの最後まで読み込み、1行目を除きたいと思います。あなたが実際には、ファイルの最初のN行をスキップする方法を作成することができます任意のヘルプしてください

おかげ

+4

http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextLine()あなたの答えのための –

答えて

0

ことを "スターター" 値の瞬間を捕捉するブール値を使用し値の読み取りが開始されます。

public static final int STARTER = "3"; 

public static void main(String[] args) { 
    boolean read = false; 
    try { 
     Scanner s = new Scanner(new File("input.txt")); 
     while (s.hasNextLine()) { 
      String line = s.nextLine(); 
      if (!read) { 
       if (Integer.parseInt(line) == STARTER) { 
        read = true; 
       } 
      } else { 
       System.out.println(line); // or save to a list or ... 
      } 
     } 
    } catch (Exception e){ 
     System.out.println(e); 
    } 
} 
+0

あなたの答えをありがとう、私は同じコード内の特定の行を除外し、ファイルを読むのと同じときに、私はその行からファイルを読み取る関数にパラメータとして行を送信する必要があります – Shaimaa

1

私はこのラインを試してみましたが、それは

String line = input.next("pass the line that I want to start reading from"); 

を動作しません。ファイルを正常に読み取ります。ここ

は一例であり:

import java.io.File; 
import java.util.Scanner; 

public class Main { 

    public static void main(String[] args) { 
     try { 
      Scanner s = new Scanner(new File("input.txt")); 
      skipLines(s, 3);//skip 3 lines of input.txt file 
      //read the rest of the file 
      while (s.hasNextLine()) { 
       String line = s.nextLine(); 
       // use lines here 
       System.out.println(line); 
      } 
     }catch (Exception e){ 
     } 
    } 

    public static void skipLines(Scanner s,int lineNum){ 
     for(int i = 0; i < lineNum;i++){ 
      if(s.hasNextLine())s.nextLine(); 
     } 
    } 
} 

INPUT.TXT:

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 

出力:

4 
5 
6 
7 
8 
9 
10 
+0

どうもありがとう – Shaimaa

+0

どういたしまして:) の場合あなたの問題はこの答えによって解決されました。正しいものとしてマークしてください。 –

関連する問題