監控異常記錄

/**
 * 維護監控異常記錄文件---TXT
 * 
 * 
 */
public class TxtFile implements IBaseFile {

	String dirName = "log";// 父目錄

	/*
	 * 匯出指定文件給用戶View (non-Javadoc)
	 * 
	 * @see com.htc.hr.salary.service.IBaseFile#loadFile(java.lang.String)
	 */
	public List<Object> loadFile(String source) throws Exception {
		// TODO Auto-generated method stub
		List<Object> exceptionList = new ArrayList<Object>();
		try {
			String tempStr;
			BufferedReader reader = new BufferedReader(new FileReader("../"
					+ dirName + "/" + source + ".txt"));
			while ((tempStr = reader.readLine()) != null) {
				exceptionList.add(tempStr);
			}
		} catch (FileNotFoundException e) {			
			e.printStackTrace();
			throw new FileNotFoundException("文件沒有找到");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			throw new IOException("文件操作異常");
		}
		return exceptionList;
	}

	/*
	 * 寫入錯誤信息到指定路徑 (non-Javadoc)
	 * 
	 * @see com.htc.hr.salary.service.IBaseFile#writeFile(java.util.List,
	 * java.lang.String)
	 */
	public boolean writeFile(List<Object> objectList, String source)
			throws IOException {
		// TODO Auto-generated method stub
		File dir = new File("../" + dirName);
		if (!dir.exists()) {//如果指定資料夾不存在則創建
			dir.mkdir();
		}
		
		//需要覆蓋日誌使用此段代碼,註釋掉下面c...d的代碼
		//a
		/*BufferedWriter writer = new BufferedWriter(new FileWriter("../"
				+ dirName + "/" + source + ".txt"));
		for (Object str : objectList) {
			writer.write(str.toString());
			writer.newLine();
		}
		writer.flush();
		writer.close();*/
		//b
		
		//不需要覆蓋日誌使用此段代碼,註釋掉上面a...b的代碼
		//c
		FileOutputStream fos = new FileOutputStream("../"
				+ dirName + "/" + source + ".txt",true);
		for (Object str : objectList) {
			fos.write(((String) str + "\n").getBytes());
		}
		fos.flush();
		fos.close();
		//d
		
		return true;
	}

}

 

	/**
	 * 查看薪資計算異常記錄
	 */
	public void viewExceptionRecords() {
		try {
			IBaseFile baseFile = baseFileFactory.createBaseFile("TXT");
			List<Object> tempList = baseFile.loadFile(exceptionFileName);
			StringBuffer sb = new StringBuffer();
			for (Object str : tempList) {
				sb.append(str);
				sb.append("\n");
			}
			this.setExceptionRecords(sb.toString());
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			FacesMessages.instance().add("沒有異常文件!");
		}
	}

 

// write exception into file
		try {
			if (exceptionList.size() != 0) {
				SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
				String fileName = format.format(payRollDate);
				IBaseFile baseFile = baseFileFactory.createBaseFile("TXT");
				baseFile.writeFile(exceptionList, fileName);
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值