Java利用缓冲流读写文件

从控制台读取数据写入文件

读取文件输出到控制台

public class BookTest {
	public static void main(String[] args) {
		//从控制台输入信息并写入文件中
		BufferedReader ir=new BufferedReader(new InputStreamReader(System.in));   //包装成字符输入缓冲流
		BufferedWriter bw=null;
		try {
			bw=new BufferedWriter(new FileWriter("D:\\Test.txt"));
			for(String str=null;(str=ir.readLine())!=null;) {         
                //输入 e 实现写文件安全退出
				if(str.equalsIgnoreCase("e")) {
					System.out.println("安全退出"); 
					break;
				}
				bw.write(str);             //写入一行
				bw.newLine();              //写入行分隔符
				bw.flush();                //刷新缓冲流
			}
		}catch(FileNotFoundException e) {
			e.printStackTrace();
		}catch(IOException e) {
			e.printStackTrace();
		}finally {
			if(ir!=null) {
				try {
					ir.close();
				}catch(IOException e) {
					e.printStackTrace();
				}
			}
			if(bw!=null) {
				try {
					bw.close();
				}catch(IOException e) {
					e.printStackTrace();
				}
			}
		}
		Book[] book=new Book[20];             //对象数组
		int k=0;
		BufferedReader br1=null;              
		try {
			br1=new BufferedReader(new FileReader("D:\\Test.txt"));      //利用缓冲流读取文件
			String str=null;
			while((str=br1.readLine())!=null) {
				System.out.println(str);      //输出一行
				//String[] s=str.split(",");
				//System.out.println(s[0]);
				//book[k++]=new Book(s[0],s[1],s[2],s[3],Integer.parseInt(s[4]));
			}
		}catch(FileNotFoundException e) {
			e.printStackTrace();
		}catch(IOException e) {
			e.printStackTrace();
		}finally {
			if(br1!=null) {
				try {
					br1.close();
				}catch(IOException e) {
					e.printStackTrace();
				}
			}
		}
     }
}

运行效果:

值得注意的是:

该程序的写文件部分在程序的第一次运行中运行即可,以后运行程序的时候要将此部分注释掉,否则会一直先要从控制台读取数据写到文件中,除非需要修改文件中的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值