public?static?void?main(String[]?args)?throws?Exception?{
long?size?=?readFileByChars("D://test.txt");
write("D://test1.txt",size);
}
public?static?long?readFileByChars(String?fileName)?{
File?file?=?new?File(fileName);
Reader?reader?=?null;
int?num?=0;
try?{
reader?=?new?InputStreamReader(new?FileInputStream(file));
int?tempchar;
while?((tempchar?=?reader.read())?!=?-1)?{
//?對於windows下,rn這兩個字符在壹起時,表示壹個換行。
//?但如果這兩個字符分開顯示時,會換兩次行。
//?因此,屏蔽掉r,或者屏蔽n。否則,將會多出很多空行。
if?(((char)?tempchar)?!=?'r')?{
System.out.print((char)?tempchar);
}
if?(tempchar>=?'A'?&&?tempchar<=?'Z'?||tempchar>=?'a'?&&?tempchar<=?'z'){
num++;
}
}
reader.close();
}?catch?(Exception?e)?{
e.printStackTrace();
}?finally?{
if?(reader?!=?null)?{
try?{
reader.close();
}?catch?(IOException?e1)?{
}
}
}
return?num;
}
public?static?void?write(String?fileName,long?size)?throws?IOException?{
File?file?=?new?File(fileName);
Writer?writer?=?null;
try?{
writer?=new?FileWriter(new?File(fileName));
writer.write("英文字母***有:"+size);
}catch?(Exception?e){
e.printStackTrace();
}finally?{
if?(writer!=?null){
writer.close();
}
}
}
}
第二題:public?class?Read?{
public?static?void?main(String[]?args)?throws?Exception?{
readFile("D://test.txt");
}
public?static?void?readFile(String?fileName?)?throws?Exception?{
BufferedReader?isr?=?new?BufferedReader(new?FileReader(fileName));
String?str?=?null;
int?allnumber?=1;
str?=?isr.readLine();
String?[]?strings?=?str.split("\\s+");
float?[]?sum?={Float.valueOf(strings[0]),Float.valueOf(strings[1]),Float.valueOf(strings[2])};
float?[]?min?={Float.valueOf(strings[0]),Float.valueOf(strings[1]),Float.valueOf(strings[2])};
float?[]?max?={Float.valueOf(strings[0]),Float.valueOf(strings[1]),Float.valueOf(strings[2])};
System.out.println(str);
while?((str?=?isr.readLine())!=?null){
System.out.println(str);
deal(str,sum,min,max);
allnumber++;
}
if?(isr!=?null){
isr.close();
}
System.out.println("三門課最大值:"+max[0]+"\t"+max[1]+"\t"+max[2]);
System.out.println("三門課最小值:"+min[0]+"\t"+min[1]+"\t"+min[2]);
System.out.println("三門課平均值:"+sum[0]/allnumber+"\t"+sum[1]/allnumber+"\t"+sum[2]/allnumber);
}
public?static?void?deal(String?str,?float[]?sum,?float[]?min,?float[]?max){
String?[]?strings?=?str.split("\\s+");
for?(int?i=0;i<3;i++)?{
sum[i]?=?sum[i]?+?Float.valueOf(strings[i]);
if?(max[i]?<?Float.valueOf(strings[i]))?{
max[i]?=?Float.valueOf(strings[i]);
}
if?(min[i]?>?Float.valueOf(strings[i]))?{
min[i]?=?Float.valueOf(strings[i]);
}
}
}
}