空白を除く文字数、単語数、行数をカウントする次のコードを作成しましたが、コードが適切な出力を表示していません。
import java.io.*;
class FileCount
{
public static void main(String args[]) throws Exception
{
FileInputStream file=new FileInputStream("sample.txt");
BufferedReader br=new BufferedReader(new InputStreamReader(file));
int i;
int countw=0,countl=0,countc=0;
do
{
i=br.read();
if((char)i==(' '))
countw++;
else if((char)i==('\n'))
countl++;
else
countc++;
}while(i!=-1);
System.out.println("Number of words:"+countw);
System.out.println("Number of lines:"+countl);
System.out.println("Number of characters:"+countc);
}
}
私のファイルsample.txtには
hi my name is john
hey whts up
そして私のアウトプットは
Number of words:6
Number of lines:2
Number of characters:26