(Java复习与IO输入输出流)
首先是对假前考试的回顾,一道基础的编程题
一个父类
classDog{
StringdogName;定义两个属性字符串类型的名字整形的年龄
intdogAge;
一个方法输出一句话
publicvoiddogWalk(){
System.out.println("dogisrunning!!");
}
publicDog(){
dogName="god";构造初始化赋值
dogAge=3;
}
}
classSmallDogextendsDog{类SmallDog继承Dog
publicvoiddogWalk(){覆盖父类中的方法重新打印一句话
System.out.println("smalldogisfollowing!");
}
}
publicclassTestSmallDog{
publicstaticvoidmain(String[]args){
newSmallDog().dogWalk();因为子类中已经将父类中的dogWalk方法覆盖了所以在此调用的是子类的方法虽然被覆盖但是父类中的方法并没有消失仍然可以用super.dogWalk()调用
}
}
另一道复习题是随机生成大整数并输出最大最小值,看似简单但是仍有要注意的地方
int[]num=newint[10];定义大整数的位数
Randomrand=newRandom();
publicvoidcreateRandomNumber(){
for(inti=0;i<num.length;i++){
num[i]=rand.nextInt(100+1);为每一位随机生成一个数
System.out.println(num[i]+"");然后输出
}
}
接下来是今天学的IO输入输出流,一道题目读取指定TXT文件,并格式化输出写入到新的TXT文件中:
文件字节输入流类FileInputStream文件字节输出流FileOutputStream类
mportjava.io.*;
publicclassIOTest2
{
publicstaticvoidmain(String[]args)
{
try{
FileInputStreamfis=newFileInputStream("data2.txt");读取data2.txt
FileOutputStreamfos=newFileOutputStream("newData2.txt");将fos写入txt文件中
intn=fis.available();
byte[]b=newbyte[n];
while(fis.read(b)!=-1){读取文件直至最后一行
System.out.println(newString(b));
for(inti=0;i<b.length;i++){利用循环格式化写入文件
fos.write(b[i]);写入文件
if((i+1)%4==0&&(i+1)!=0){每四位格式化
fos.write("".getBytes());
}
if((i+1)%60==0&&(i+1)!=0){每十五组换行
fos.write("\n".getBytes());
}
}
}
fis.close();关闭输入流
fos.close();关闭输出流
}
catch(Exceptione){
}
}
}