Java 输入输出流练习--替换文件内容

|--需求说明

|--实现方式

1、采用BufferedReader读取文件,采用BufferedWriter写入新的文件

2、采用StringBuffer追加接收到的文件

3、采用String类的replace替换字符

 

|--代码内容

 1 package cn.copy;
 2 
 3 import java.io.*;
 4 
 5 /**
 6  * @auther::9527
 7  * @Description: 作业的方法
 8  * @program: shi_yong
 9  * @create: 2019-08-02 11:17
10  */
11 public class WorkMeth {
12 
13     public static void main(String[] args) {
14         FileInputStream fis = null;
15         InputStreamReader isr = null;
16         BufferedReader br = null;
17 
18         FileOutputStream fos = null;
19         OutputStreamWriter osw = null;
20         BufferedWriter bw = null;
21 
22         StringBuffer sb = new StringBuffer("");
23 
24         try {
25             //创建读文件的对象
26             fis = new FileInputStream("d:/pet.template");
27             isr = new InputStreamReader(fis);
28             br = new BufferedReader(isr);
29 
30             //创建写文件的对象
31             fos = new FileOutputStream("d:p.template");
32             osw = new OutputStreamWriter(fos);
33             bw = new BufferedWriter(osw);
34 
35             String str = "";
36             System.out.println("替换操作前:");
37             //循环读取文件
38             while ((str = br.readLine() )!=null){
39                 //采用StringBuffer将读取到的文件追加到sb里面
40                 sb.append(str);
41             }
42             System.out.println("-------------我是分割线-----------------");
43             System.out.println(sb.toString());
44             str = String.valueOf(sb);
45             str = str.replace("{name}","欧欧");
46             str = str.replace("{type}","狗狗");
47             str = str.replace("{master}","李伟");
48             System.out.println("替换操作后:\n"+str);
49             bw.write(str);
50             System.out.println("操作完成");
51         } catch (FileNotFoundException e) {
52             e.printStackTrace();
53         } catch (IOException e) {
54             e.printStackTrace();
55         }finally {
56             try {
57                 //关闭输入输出,否则新创建出来的文件不会显示
58                 bw.close();
59                 osw.close();
60                 fos.close();
61                 br.close();
62                 isr.close();
63                 fis.close();
64             } catch (IOException e) {
65                 e.printStackTrace();
66             }
67         }
68     }
69 }
替换文件

 

 

|--运行结果

 

替换字符后生成的新的文件

 

转载于:https://www.cnblogs.com/twuxian/p/11288912.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值