代码如下: import java.io.*; public class hh { /** * @param args */ 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; } }