向配置文件中添加模块<bean><action>

package xyz.jangle.oa.xmlappend;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
*    jangle
*/
public class XmlAppendUtils {

	
	/**
	 * 添加dao层bean
	 * @param pathAndFileName
	 * @param beanNameVar
	 * @param beanName
	 */
	public static void addAccessXml(String pathAndFileName,String beanNameVar,String beanName) {
		String insertPosition = "</beans>";
		String insertStr = "<bean id=\""+beanNameVar+"AccessService\"\r\n" + 
				"		class=\"xyz.jangle.dao.impl."+beanName+"AccessServiceImpl\"\r\n" + 
				"		parent=\"xxxService\">\r\n" + 
				"	</bean>";
		insertStr += "\n</beans>";
		insertContent(pathAndFileName, beanName, insertPosition, insertStr);
	}
	/**
	 * 添加service层bean
	 * @param pathAndFileName
	 * @param beanNameVar
	 * @param beanName
	 */
	public static void addBunissXml(String pathAndFileName,String beanNameVar,String beanName) {
		String insertPosition = "</beans>";
		String insertStr = "	<bean id=\""+beanNameVar+"MgmtService\" class=\"xyz.jangle.service.impl."+beanName+"MgmtServiceImpl\">\r\n" + 
				"		<property name=\""+beanNameVar+"AccessService\" ref=\""+beanNameVar+"AccessService\" />\r\n" + 
				"	</bean>";
		insertStr += "\n</beans>";
		insertContent(pathAndFileName, beanName, insertPosition, insertStr);
	}
	/**
	 * 添加struts配置项
	 * @param pathAndFileName
	 * @param beanNameVar
	 * @param beanName
	 */
	public static void addStrutsXml(String pathAndFileName,String beanNameVar,String beanName) {
		String insertPosition = "</package>";
		String insertStr = "	<action name=\""+beanNameVar+"Action\" class=\"xyz.jangle.action."+beanName+"Action\">\r\n" + 
				"			<result name=\"success\" type=\"json\">\r\n" + 
				"				<param name=\"root\">dataMap</param>\r\n" + 
				"			</result>\r\n" + 
				"		</action>";
		insertStr += "\n	</package>\r\n" + 
				"</struts>";
		insertContent(pathAndFileName, beanName, insertPosition, insertStr);
	}
	/**
	 * 对文件进行内容新增
	 * @param pathAndFileName	文件全路径,路径+文件名+扩展名
	 * @param beanNameVar		类型名变量
	 * @param beanName			类型名称
	 * @param insertPosition	插入位置
	 * @param toInsertStr		插入内容
	 */
	private static void insertContent(String pathAndFileName,String beanName,String insertPosition,String toInsertStr) {
		File file = new File(pathAndFileName);
		try {
			FileInputStream in = new FileInputStream(file);
			byte[] b = new byte[in.available()];
			in.read(b);
			in.close();
			String content = new String(b);
			if(content.indexOf(beanName) != -1) {
				System.out.println("认为已经存在该对象对应的配置项");
				return;
			}
			// 不出现该对象则进行新增
			int indexOf = content.indexOf(insertPosition);
			String newContent = content.substring(0, indexOf);
			newContent = newContent + toInsertStr;	//添加新的action
			FileOutputStream out = new FileOutputStream(file,false);	//false 对文件进行重写。  true 向文件添加新内容
			out.write(newContent.getBytes());			//对文件进行重写
			out.flush();
			out.close();
			System.out.println("成功插入文本内容");
		} catch (IOException e1) {
			e1.printStackTrace();
		}
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值