import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.Reader;
public class Test{
static int n1 =0 ;
static int n2 =0 ;
public static void main(String[] args) throws Exception{
Test.readFileByChars("D://Text.txt");
System.out.println("字母个数为:"+n1+" 字母个数为"+n2);
}
public static void readFileByChars(String fileName) {
File file = new File(fileName);
Reader reader = null;
try {
System.out.println("以字符为单位读取文件内容,一次读一个字节:");
// 一次读一个字符
reader = new InputStreamReader(new FileInputStream(file));
int tempchar;
while ((tempchar = reader.read()) != -1) {
// 对于windows下,\r\n这两个字符在一起时,表示一个换行。
// 但如果这两个字符分开显示时,会换两次行。
// 因此,屏蔽掉\r,或者屏蔽\n。否则,将会多出很多空行。
if (((char) tempchar) != '\r') {
System.out.print((char) tempchar);
n1++;
if((char)tempchar >='A'&&(char)tempchar<='Z'){
n2++;
}
}
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}