【发布时间】:2012-10-27 20:06:37
【问题描述】:
我有一个 Java 程序,代码如下:
import java.io.*;
public class LineCountingProg
{
public static void main(String args[])
{
FileInputStream fis = null;
try
{
fis = new FileInputStream("d://MyFile.txt");
}
catch(FileNotFoundException e)
{
System.out.println("The source file does not exist. " +e );
}
LineNumberReader lineCounter = new LineNumberReader(new InputStreamReader(fis));
String nextLine = null;
try {
while ((nextLine = lineCounter.readLine()) != null) {
System.out.println(nextLine);
if ((nextLine.startsWith("/*") && nextLine.endsWith("*/"))
|| (nextLine.trim().matches("[{};]+"))) {
//This line needs to be ignored
ignoredLines++;
continue;
}
}
System.out.println("Total number of line in this file " + lineCounter.getLineNumber());
int fcounter = 0;
fcounter = lineCounter.getLineNumber()-ignoredLines ;
System.out.println("Total " +fcounter);
} catch (Exception done) {
done.printStackTrace();
}}}
我想添加一段代码,这样如果一行以 /* 开头并以 */ 结尾,它就可以忽略行数。此外,如果一行仅包含 ;和 } 它也应该忽略这些行。我该怎么做?
【问题讨论】:
-
查看使用字符串方法来查看行的开头和结尾。 String API 将列出可用的方法,并且方法名称对于您的目的来说是不言自明的。换句话说,如果你看,你会很快找到重要的方法。
标签: java line-count