首页 > 编程语言 > 详细

Java 对文件的操作

时间:2014-11-06 23:25:45      阅读:344      评论:0      收藏:0      [点我收藏+]
public class ReadFile {
	
	/**
	 * 按行读取文件操作
	 * @throws IOException 
	 */
	public void readFile(String fileName) throws IOException{
		//(1)File 类
		File file = new File(fileName);
		//
		BufferedReader reader = null;
		try {
			//(2) 将文件放入到BufferedReader中
			reader  = new BufferedReader(new FileReader(file));
			String temp = null;
			int line = 0;
			while( (temp = reader.readLine()) != null){
				System.out.println(temp + (++line));
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			reader.close();
		}
			
	}
	
	/**
	 * 文件的写入操作
	 */
	public void writeFile(String fileName, String str) throws IOException{
		
		
		File file = new File(fileName);
		//true实现对文件的追加操作
		FileWriter ws = new FileWriter(file,true);
		
		ws.write(str);
		
		ws.close();
		
	}
	
	/**
	 * 对于一个大文本文件,我们仅仅读取最后的N行
	 * @throws IOException 
	 */
	public String[] getLastNFromFile(String fileName) throws IOException{
		
		String []temp = new String[5];
		File f = new File(fileName);
		BufferedReader reader = new BufferedReader(new FileReader(f));
		String temp1 = null;
		int line = 0;
		while((temp1 = reader.readLine()) != null){
			temp[line++]= temp1;
			if(line >= 5 ){
				line = 0;
			}
		}
		
		return temp;
		
		
	}
	
	/**
	 * 通过索引进行操作
	 * @throws IOException 
	 */
	public String[] getLastNFromFileByIndex(String fileName) throws IOException{
		
		String []temp = new String[5];
		File f = new File(fileName);
		BufferedReader reader = new BufferedReader(new FileReader(f));
		String temp1 = null;
		int line = 0;
		while((temp1 = reader.readLine()) != null){
			line++;
		}
		
		return temp;
		
		
	}
	
	
	

}

  对2000000行的文件进行操作,读取最后的5行,并没有发现直接通过行索引和通过一个数组进行栈式进入有什么差别!

Java 对文件的操作

原文:http://www.cnblogs.com/CBDoctor/p/4080143.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!