输出输入处理 练习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();
}
}
}