java txt读取指定行_java语言读取文本文件的指定行
/** * <B>创 建 人:</B>Administrator <BR> * <B>创建时间:</B>2022年12月18日 上午6:28:49<BR> * * @author ReYo * @version 1.0 */ import java.io.*; public class reyo { /** */ public static void main(String[] args) { // 指定读取的行号 int lineNumber = 2; // 读取文件 //File sourceFile = new File("D:/java/test.txt"); File sourceFile = new File("C://TEXT.txt"); try { // 读取指定的行 readAppointedLineNumber(sourceFile, lineNumber); // 获取文件的内容的总行数 System.out.println(getTotalLines(sourceFile)); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } // 读取文件指定行。 static void readAppointedLineNumber(File sourceFile, int lineNumber) throws IOException { FileReader in = new FileReader(sourceFile); LineNumberReader reader = new LineNumberReader(in); String s = ""; if (lineNumber <= 0 || lineNumber > getTotalLines(sourceFile)) { System.out.println("不在文件的行数范围(1至总行数)之内。"); System.exit(0); } int lines = 0; while (s != null) { lines++; s = reader.readLine(); if ((lines - lineNumber) == 0) { System.out.println(s); System.exit(0); } } reader.close(); in.close(); } // 文件内容的总行数。 static int getTotalLines(File file) throws IOException { FileReader in = new FileReader(file); LineNumberReader reader = new LineNumberReader(in); String s = reader.readLine(); int lines = 0; while (s != null) { lines++; s = reader.readLine(); if (lines >= 2) { if (s != null) { System.out.println(s + "$"); } } } reader.close(); in.close(); return lines; } }