`

文件读写例子

 
阅读更多

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.LineNumberReader;


/**
 * 只要关闭最外层的就OK。
 * JDK使用的时包装器模式,只关最外层的,
 * 里面的相应的也会自动关闭。看源码就知道了
 * @author Administrator
 *
 */
public class Test {
	
	public void writeFile(){
		File file=new File("C:\\web.xml");
		BufferedWriter bw=null;
		try {
			//true表示追加,没有true,默认是覆盖
			//使用缓存提供写速度,写的时候先写到缓存,不是每次都写入文件
			//最后一次才写入文件
			bw=new BufferedWriter(new FileWriter(file,true));
			bw.write("cxm");
			bw.newLine();//写个换行符
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			//关闭流一定要像这样
			if(bw != null){
				try {
					bw.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
	
	/**
	 * 一行一行地读入文件的内容
	 * @return
	 */
	public String readFile(){
		File file=new File("C:\\web.xml");
		LineNumberReader lr=null;
		StringBuilder sb=new StringBuilder();
		try {
			//这样搞更快
			lr=new LineNumberReader(new BufferedReader(new FileReader(file)));
			String s=lr.readLine();
			while(s != null){
				sb.append(s+System.getProperty("line.separator"));
				s=lr.readLine();
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			if(lr != null){
				try {
					lr.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return sb.toString();
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		System.out.println(new Test().readFile());

	}

}
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics