输出输入处理 练习2

输出输入处理 练习2

输出输入处理 练习2

package practice;
import java.io.*;
import java.util.Date;

class read{
    int countLine(String filename) throws Exception{     //抛出异常
        File f=new File(filename);          //封装文件
        InputStream fin=new FileInputStream(f);       //输入文件
        BufferedReader br=new BufferedReader(new FileReader(f));   //读取文件
        int i=0;
        String str="";
        
        while((str=br.readLine())!=null) {          //i记录行数
            i++;
        }
        
        fin.close();
        br.close();
        return i;
    }
    void  read(String filename) throws Exception{
        File fout=new File(filename);
        RandomAccessFile out=new RandomAccessFile(fout,"rw");      //输出对象
        
        int  countline=0;        
        
        countline=countLine(filename);         //获取文本行数 
        
        String a[]=new String[countline];         //存储数组
        
        for(int i=0;i<countline;++i) {         
            a[i]=out.readLine();                  //将文本中的数据存储到数组
        }
        for(int i=countline-1;i>=0;--i) {
            System.out.println(a[i]);             //逆序输出数组
        }
        out.close();
    }
}
public class Chapter8 {
        
    public static void main(String []args){
       String str=args[0];             //输入文件名     
       read read=new read();             //生成对象
       try { 
        read.read(str);
    } catch (Exception e) {
        System.out.println("异常");
        e.printStackTrace();
    }   
    }    
}