您的位置:首页 > 编程语言 > Java开发

用Java类任意读取一个文件,按照原文件格式,在控制台输出倒数五行

2017-11-08 00:43 543 查看
用Java类任意读取一个文件,按照原文件格式,在控制台输出倒数五行,随便写了一下,兴许有些bug,以后有时间再纠正吧。参考代码如下

import java.io.BufferedInputStream;

import java.io.BufferedReader;

import java.io.File;

import java.io.IOException;  

import java.io.FileInputStream;  

import java.io.InputStreamReader;

import java.io.Reader;

import java.util.ArrayList;

import java.util.List;

;  

/**

 * 作者:南航

 * 2017年11月7日,下午6:37:23

 */

public class TestInputStream {  

    public static void main(String args[]) throws IOException {  

       File file=new File("F:\\ab.txt");

       Console(file);

    }  

    public static void Console(File file){

    BufferedReader b=null;

    try{      

             FileInputStream rf=new FileInputStream(file);  

             InputStreamReader bf=new InputStreamReader(rf);

             b=new BufferedReader(bf);

             String line=null;

             int count=0;

             List l=new ArrayList<>();

             while((line=b.readLine())!=null){

            count+=1;

            l.add(line);

             }

             for (int i = l.size()-5; i < l.size(); i++) {

            System.out.println(l.get(i));

             }

             

    } catch(IOException  e){        

    e.printStackTrace();

    } finally{

    if(b!=null){

    try {

    b.close();

    } catch (IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

     

    } 

     

    }

    



  package com.iss.sub_to_main;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.ArrayList;

import java.util.List;

public class ReadTextToConsole {

     public static void main(String[] args) {
try {
Console(new File("e:\\ab.txt"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();

}

}
public  static void Console(File f) throws IOException{

FileInputStream fs=new FileInputStream(f);
InputStreamReader ir=new InputStreamReader(fs);
BufferedReader br=new BufferedReader(ir);
String line=null;
List l=new ArrayList();
while(true){
if((line=br.readLine()) == null)
break;
if(l.size()==5){
l.remove(0);
}
l.add(line);
}
for (Object object : l) {
System.out.println(object);
}
br.close();
}
}

           

           

           
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息