Javaで行番号をプリントする方法


  1. BufferedReaderを使用する方法: この方法では、BufferedReaderを使用してファイルを読み込み、各行の行番号を表示します。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class LineNumberPrinter {
    public static void main(String[] args) {
        String fileName = "ファイルのパス";

        try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
            String line;
            int lineNumber = 1;

            while ((line = br.readLine()) != null) {
                System.out.println("行番号: " + lineNumber + " - " + line);
                lineNumber++;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  1. LineNumberReaderを使用する方法: LineNumberReaderは、行番号を追跡するための便利なクラスです。
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
public class LineNumberPrinter {
    public static void main(String[] args) {
        String fileName = "ファイルのパス";

        try (LineNumberReader lnr = new LineNumberReader(new FileReader(fileName))) {
            String line;

            while ((line = lnr.readLine()) != null) {
                System.out.println("行番号: " + lnr.getLineNumber() + " - " + line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  1. Java 8以降のStreamを使用する方法: Java 8以降では、Stream APIを使用して簡潔なコードで行番号を表示することができます。
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Stream;
public class LineNumberPrinter {
    public static void main(String[] args) {
        String fileName = "ファイルのパス";

        try (Stream<String> lines = Files.lines(Paths.get(fileName))) {
            lines
                .map(line -> "行番号: " + lines.indexOf(line) + " - " + line)
                .forEach(System.out::println);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

これらの方法を使用すると、Javaプログラム内の行番号を簡単に表示できます。必要に応じてコードをカスタマイズして、特定の要件に合わせて使用してください。