2010-12-16 46 views
0

我正在写一个小的Java应用程序,它将扫描任何特定单词的文本文件,并需要有一个功能,据此它可以报告该单词的一个实例被发现是文件中的第14个单词,第三行,例如。在使用Java的文件中计算单词和换行符?

为此,我试图使用我认为将检查以查看该输入是否是一个换行符(\ n)字符下面的代码,然后incerement我创建一个行变量:

FileInputStream fileStream = new FileInputStream("src/file.txt"); 
DataInputStream dataStream = new DataInputStream(fileStream); 
BufferedReader buffRead = new BufferedReader(new InputStreamReader(dataStream)); 
String strLine; 
String Sysnewline = System.getProperty("line.separator"); 
CharSequence newLines = Sysnewline; 

int lines = 1; 

while ((strLine = buffRead.readLine()) != null) 
{ 
    if(strLine.contains(newLines)) 
    { 
     System.out.println("Line Found"); 
     lines++; 
    } 
} 
System.out.println("Total Number Of Lines In File: " + lines); 

这不起作用,它只是在这个文件的末尾显示0。我知道数据在while循环期间被放入strLine中,就好像我稍微更改代码以输出行,它已成功从文件中获取每行。

会有人碰巧知道上述代码不起作用的原因吗?

+0

这功课吗?如果是这样,请让我们知道这一点。 – javamonkey79 2010-12-16 00:35:40

回答

3

阅读javadocs for readLine

返回: 包含行的内容,不包括任何行终止符或null如果该流的结尾已经到达

0

readLine()带换行字符串。只需增加循环的每一次迭代。另外,你的文件阅读代码过于复杂。只是做new BufferedReader(new FileReader("src/file.txt"))

相关问题