Символы считает верно - кучу вариантов протестировал, а валидатор не принимает. Всё, сдаюсь. Может, глаз "замылился" и чего-то не замечаю?
package com.javarush.task.task18.task1816;
/*
Английские буквы
*/
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class Solution {
public static void main(String[] args) throws IOException {
int bfSize = 128;
int countEngChar = 0;
FileInputStream inStream = new FileInputStream(args[0]);
byte[] bf = new byte[bfSize];
while (inStream.available() > 0){
inStream.read(bf);
for (byte n : bf) {
if ((n >= 65 & n <= 90) | (n >= 97 & n <= 122)) countEngChar++;
}
}
inStream.close();
System.out.println(countEngChar);
}
}