使用FileReader计算文本中的字符数

时间:2013-11-13 19:21:11

标签: character counting

我是这个极好的地方的新人。我从这个网站多次得到帮助。我已经看到了许多关于我之前讨论过的问题的答案,但我在使用FileReader计算字符数时面临问题。它正在使用Scanner。这就是我的尝试:

class CountCharacter
{
public static void main(String args[]) throws IOException
{
    File f = new File("hello.txt");
    int charCount=0;
    String c;
    //int lineCount=0;
    if(!f.exists())
    {
        f.createNewFile();
    }
     BufferedReader br = new BufferedReader(new FileReader(f));

while ( (c=br.readLine()) != null) {
String s = br.readLine();
charCount = s.length()-1;
charCount++;


}
System.out.println("NO OF LINE IN THE FILE, NAMED " +f.getName()+ " IS " +charCount);
}
}`

1 个答案:

答案 0 :(得分:0)

在我看来,每次进行循环时,都将charCount指定为循环迭代所涉及的行的长度。即代替 charCount = s.Length() -1; 尝试 charCount = charCount + s.Length();

编辑:

如果您说的文档内容为“onlyOneLine

然后,当您第一次点击while检查时,br.readLine()BufferredReader读取第一行,但在while的代码块中br.readLine()再次调用,将BufferredReader推进到文档的第二行,该行将返回null。由于null已分配给s,并且您调用length(),则会抛出NPE。

尝试使用while块

while ( (c=br.readLine()) != null) { charCount = charCount + c.Length(); }