输入流与输出流更改文件内容

/*** 
	 *@Title: autoReplace 方法名
	 *@Description:(修改文件内容) 
	 * @param newfilePath 新文件地址(新生成的文件地址)
	 * @param odlfilePath 旧文件地址(读的文件地址)
	 * @param oldStr 旧参数
	 * @param newStr 新参数
	 * @throws IOException(展示方法参数和返回值) 
	 *@author:aaa
	 *@data 2018年10月30日
	 */
	private void autoReplace(String newfilePath,String odlfilePath,String[] oldStr, String[] newStr) {
		PrintWriter out = null;
		FileInputStream in = null;
		try {
        	 FileUtils.copyFile(new File(odlfilePath), new File(newfilePath));
             File file = new File(newfilePath);
             Long fileLength = file.length();
             byte[] fileContext = new byte[fileLength.intValue()];
        	 in = new FileInputStream(newfilePath);
             in.read(fileContext);
             String str = new String(fileContext, "utf-8");
             if(oldStr.length > 0 && newStr.length > 0){
	             for (int i = 0; i < oldStr.length; i++) {
	            	  str = str.replace(oldStr[i], newStr[i]);
				 }
             }
             out = new PrintWriter(newfilePath);
             out.write(str);
	    } catch (IOException e) {
	    	WebLogs.printStackTrace(e); 
	    } finally {
	        try {
	            out.flush();
	            out.close();
	            in.close();
	        } catch (IOException e) {
	        	WebLogs.printStackTrace(e);
	        }
	    }
    }
    // "%1%","%2%","%3%","%5%","%6%","%7%","%8%","%4%" 分别是文件的字符
String[] oldStr ={"%1%","%2%","%3%","%5%","%6%","%7%","%8%","%4%"};
String[] newStr={mysqlname,mysqlpwd,mysqladdress,sqlsername,sqlserpwd,sqlserveraddress,sql,param};
// 执行替换方法
autoReplace(newUpdatefilePath,oldPublicFile, oldStr, newStr);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值