Java_IO_实例总结(二)

12 篇文章 2 订阅

6、装饰设计模式


说明:

装饰设计模式,实现了RadarCar类对Car类的包装。

7.演示BufferedInputStream和BufferedInputStream这两个流的用法

public class testIO {
	public static void main(String[] args) throws IOException {
		//创建一个带缓冲区的输入流
		BufferedInputStream  bis = new BufferedInputStream(new FileInputStream("D:\\test.txt"));
		
		//创建一个带缓冲区的输出流
		BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\dest.txt"));
		int len;
		while((len = bis.read())!=-1){
			bos.write(len);
		}
		bos.close();
		bis.close();
		
	}
}


8.字符流操作文件

         使用FileReader读取文字中的字符
public class testIO {
	public static void main(String[] args) throws IOException {
		// 创建一个FileReader对象用来读取文件中的字符
		FileReader reader = new FileReader("test.txt");
		int ch;// 记录读取的字符
		while ((ch = reader.read()) != -1) {// 循环判断是否读取到文件末尾
			System.out.print((char) ch);
		}
		reader.close();
	}
}

 
 
 
<img src="https://img-blog.csdn.net/20160721190641770?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />



9.演示字符包装流的使用

从一个文件中,读入数据,然后写入到另一个文件中,如果该文件不存在,则会自动创建。

从而实现文件的拷贝。

	public static void main(String[] args) throws IOException {
		FileReader reader = new FileReader("test.txt");
		// 创建一个BufferedReader对象
		BufferedReader br = new BufferedReader(reader);

		FileWriter writer = new FileWriter("des.txt");
		// 创建一个BufferedWriter
		BufferedWriter bw = new BufferedWriter(writer);
		String str; 
		while((str = br.readLine())!=null){//每读取一行文本,判断是否到文件末尾
			bw.write(str);
			bw.newLine();//写一个换行符,该方法会根据不同的操作系统生成相应的换行符
			
		}
		br.close();
		bw.close();
	}

10.演示拷贝文件,如何为文件加入行号

public class Test {
	public static void main(String[] args) throws IOException {
		FileReader fr = new FileReader("test.txt");// 创建字符输入流
		FileWriter fw = new FileWriter("copy.txt");// 创建字符输出流
		LineNumberReader lr = new LineNumberReader(fr);// 包装
		lr.setLineNumber(0);// 设置读取文件的起始行号
		String line = null;
		while ((line = lr.readLine()) != null) {
			fw.write(lr.getLineNumber() + ":" + line);// 将行号写入到文件中
            fw.write("\r\n");
		}
		
		lr.close();
		fw.close();
	}
}


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值