Вроде как вариант решения имеет право на жизнь) Или вообще в упор не вижу что не то....
package com.javarush.task.task18.task1816;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/*
Английские буквы
*/
public class Solution {
public static void main(String[] args) {
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
try(BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(args[0])))){
String string = reader.readLine();
String[] alphabetArray = string.split("");
int count = 0;
for (String value : alphabetArray){
if (alphabet.contains(value)) count++;
}
System.out.println(count);
}catch (Exception e){
System.out.println("Error read");
}
}
}