我必须计算文件“test.txt”中有多少个字母(字符)。我把它记下来了,但它也包括了我不想包括的空格。关于如何做到这一点有什么建议吗?非常感谢。
import java.io.*;
class EnglishAnalysis
{
public static void main(String[] args)
{
try
{
FileReader fr = new FileReader("test.txt");
BufferedReader br = new BufferedReader(fr);
int count = 0;
String lineCharacters [];
String line;
line = br.readLine();
while (line != null)
{
lineCharacters = line.split("");
for (int i = 0; i < lineCharacters.length; i++)
{
count ++;
line = br.readLine();
}
System.out.println(count);
}
br.close();
}
catch (IOException e) {}
}
}
最佳答案
或者(Java 8+)您可以使用 lines()
轻松完成此操作和chars()
方法:
BufferedReader br = new BufferedReader(fr);
long count = br.lines().flatMapToInt(e -> e.codePoints()).filter(e -> !Character.isWhiteSpace(e)).count();
这需要Stream<String>
文件的行中,将它们平面映射到 String::codePoints
的字符,过滤掉所有空格,然后对元素进行计数
关于java - 如何从计数中排除空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55464046/