自定义工具类

在编程过程中可能遇到的情况:
多次从一个文件(配置文件等)中取数据,但是配置的文件都是以字符串的形式表示的,获取的值也是字符串类型,这就需要自己手动将其转化为需要的类型,如果取得次数少还不是什么大问题,如果读取次数频繁,想想相同的代码会用到多少次,造成代码量大而且重复累赘。
在这个时候我们通常需要自己写工具类,将经常用到的相似代码(方法等)封装起来。
这里以从properties文件取数据为例。
首先从文件中取出的数据可能是一个文件名,可能需要得到一个整数或者浮点数类型值,也可能得到一个日期数据,这就需要将取出的干瘪的字符串数据在取出之后再转换为需要的类型。所以在这个自定义工具类当中我继承了如下方法:
String getString(String key)//得到普通字符串或者文件
Date getDate(String key)//得到一个日期数据(默认格式)
Date getDate(String key,String format)//得到一个日期数据(自定义格式)
Double getDouble(String key)//得到一个浮点型数据

package cn.jamsbwo.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;

/**
 * 集成了读取properties文件内容的方法
 * 	读取普通字符串
 * 	读取文件名
 * 	读取整形、浮点型
 * 	读取日期类型
 * 	配置文件名必须是config.properties
 * @author Administrator
 *
 */
public class ConfigUtil {
	private static Properties config=new Properties();

	private ConfigUtil(){}
	public static Properties getConfig(){
		return config;
	}
	static{
		try {
			config.load(new FileInputStream(new File("config.properties")));
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**	取字符串	*/
	public static String getString(String key){
		return config.getProperty(key);
	}

	/**取整数*/
	public static int getInt(String key){
		return Integer.parseInt(config.getProperty(key));
	}

	/**取浮点数double*/
	public static double getDouble(String key){
		return Double.parseDouble(config.getProperty(key));
	}

	/**	取日期(自定义格式)	*/
	public static Date getDate(String key,String format){
		Date date=null;
		SimpleDateFormat sdf=new SimpleDateFormat(format);
		String dateStr=config.getProperty(key);
		try {
			date=sdf.parse(dateStr);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return date;
	}
	/**	取日期(默认1994-02-28)	*/
	public static Date getDate(String key){
		return getDate(key, "yyyy-MM-dd");
	}
}

  

时间: 2024-10-10 00:53:27

自定义工具类的相关文章

Thinkphp自定义工具类的使用!

在使用Thinkphp做开发的时候,很多时候会用到一些自己写的类,为了方便管理,可以把这些类,单独放到一个文件里. 这就是自定义工具类: 首先在 Application 目录下新建 Components 文件夹,里面防止一些常用的类: 示例:EmailTool.class.php <?php namespace Components; class EmailTool{ public function send(){ echo "邮件发送成功"; } } 如何使用: // 测试方法

ThinkPHP3验证码、文件上传、缩略图、分页(自定义工具类、session和cookie)

验证码 TP框架中自带了验证码类 位置:Think/verify.class.php 在LoginController控制器中创建生存验证码的方法 login.html登陆模板中 在LoginController控制器中判断验证码是否正确并且判断登陆是否成功 文件上传 用到的知识点: 1.文件上传的时候,要设置表单的enctype属性 2.$_FILE[名字][]用来接收文件的信息 第二维的字段: name size error type tmp_name 3.move_uploaded_fil

Android自定义工具类获取按钮并绑定事件(利用暴力反射和注解)

Android中为按钮绑定事件的有几种常见方式,你可以在布局文件中为按钮设置id,然后在MainActivity中通过findViewById方法获取按钮对象实例,再通过setOnClickListener为按钮绑定事件,如下所示: //1.获取控件 btn = (Button)findViewById(R.id.button1); //2.绑定事件 btn.setOnClickListener(new OnClickListener() { @Override public void onCl

常用自定义工具类

/// <summary> /// 服务器端产生客户端脚本的封装类 /// </summary> public class jsHint {     public jsHint()     {         //         // TODO: 在此处添加构造函数逻辑         //     }     /// <summary>     /// 弹出提示信息     /// </summary>     /// <param name=&q

自定义工具类---配置文件读取方法集成类

此类集成了一部分用于读取properties文件的数据的方法,如日期,字符串,实数型,浮点型,可自行扩展 ConfigUtil.java 1 package cn.jamsbwo.util; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.IOException; 6 import java.text.ParseException; 7 import java.text.SimpleDateF

自定义工具类---XML文档读取工具类

此类用于对XML文档的读和写进行集成 package cn.jamsbwo.util; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.UnsupportedEncodingException; import org.dom4j.Document; import org.dom4j.DocumentException; import

Android—关于自定义对话框的工具类

开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函数的参数中,并且是静态,可以用类直接调用此函数. public class MyAutoDialogUtil { private static AlertDialog dialog; /** * * @param context * 上下文 * @param text * 自定义显示的文字 * @p

自定义圆形工具类

1.自定义圆形工具类 CircleImageViewUtil.java 关键点:可以自持缩放 package com.example.circleimageviewdemo; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.Canvas; import android.graphics.Col

安卓开发技巧二:自定义日志工具类XLog的实现

我们在开发过程中,打印日志是必不可少的一个调试环节,然而,直接使用系统自带的Log日志类,并不能满足我们实际项目的需求:假如我们现在在开发一款比较大的项目,用到打印日志的地方肯定特别多,等到真正上线的时候,我们是不希望日志依旧能够打印出的,原因很简单,不仅多少有些影响效率,更有可能导致信息的泄露,所以我们就需要把所有的日志打印语句全部取消掉,难道我们真的一个一个的去删除这些打印日志的语句吗?项目那么大,就是想删除,也得耗费大量的时间和精力!大家不用怕,笔者这就给大家带来一款控制线上版本和线下版本