package com.readfile.test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.Scanner;
import junit.framework.TestCase;
/**
* ReadFileTest.java
*
* 计算文件的有效代码行数
*
* 2011-05-24 7:55
*
*
*/
public class ReadFileTest extends TestCase {
/**
* 读取文件方法
*
* @param fileName
* 文件名
*/
public static void testReadFileByLines() {
Scanner input = new Scanner(System.in);
System.out.print("请输入要计算的文件路径及文件名:");
String fileName = input.next();
File file = new File(fileName);
BufferedReader read = null;
try {
read = new BufferedReader(new FileReader(file));
String tempString = null;
int lines = 1;// 总行数
int linesNotNull = 0;// 有效行数
int linesNull = 0;// 空行
while (read.ready()) {
tempString = read.readLine();
if (tempString != null && !tempString.equals("")) {
System.out.print("\n行号:" + lines + " " + tempString);
linesNotNull++;
} else {
linesNull++;
}
lines++;
}
read.close();
System.out.print("\n文件(" + fileName + "的总行数为:" + (lines - 1)
+ "\n有效代码行数为:" + linesNotNull + " \n空行为:" + linesNull);
} catch (Exception e) {
e.printStackTrace();
}
}
}