`
收藏列表
标题 标签 来源
java 枚举实例 java 枚举实例
package JpaProject;

/**
 * 枚举测试联系
 * 
 * @class Sex
 * @description
 * @author 李智慧
 * @copyRight copyright(c) 2011 广东南航易网通电子商务有限公司,Rights Reserved
 * @time Dec 7, 2011 2:43:17 PM
 */
public enum Bank {
	ABC("中国农业银行"), PSBC("中国邮政储蓄银行"), CMB("中国招商银行"), F, A, M, I, L, Y;
	private String name;

	public String getName() {
		return name;
	}

	private String fullName;

	// 构造方法
	Bank(String fullName) {
		this.fullName = fullName;
	}

	public int getIndex() {
		return ordinal() + 1;
	}

	Bank() {

	}

	public String getFullName() {
		return fullName;
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(Bank.PSBC.getFullName());
		if (Bank.M.toString().equals("M")) {
			System.out.println("aaaaaaaaaa");
		}
		System.out.println(Bank.I.getIndex());
	}
}
java 读写properties配置文件 java 读写properties配置文件
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Properties;

/**
 * 测试获取properties配置文件的内容,一定要存在这样的properties
 * 要显示具体的数据
 * @class PropertiesBean
 * @description 
 * @author 李智慧
 * @copyRight copyright(c) 2011 广东南航易网通电子商务有限公司,Rights Reserved
 * @time Dec 6, 2011 4:30:24 PM
 */
public class PropertiesBean {
		
	public static void main(String[] args) {
//		System.out.println(PropertiesBean.class.getClassLoader().getResource("config.properties"));
		String result = PropertiesBean.readPropertiesValue("config.properties","love");
		System.out.println(result);
		Boolean b = PropertiesBean.writePropertiesValue("config.properties", "职业", "微软集团总裁");
		System.out.println(b);
	}
	
	/**
	 * 获取配置文件 对应key的value值。
	 * 
	 * @param propertiesName
	 *            具体配置文件的名称,注意:此例子的配置文件是放置在classes目录下。
	 * @param key
	 *            对应key值
	 * @return value值
	 */
	public static String readPropertiesValue(String propertiesName,String key){
		String result = "";
		Properties properties = new Properties();
		InputStream inputStream = null;
		try{
			//方式一:使用getResourceAsStream获取数据流
			inputStream = PropertiesBean.class.getClassLoader().getResourceAsStream(propertiesName); 
			//方式二:使用getResource获取url地址,然后解析出对应的绝对路径。
//			inputStream = new BufferedInputStream (new FileInputStream(PropertiesBean.class.getClassLoader().getResource(propertiesName).toString().replaceAll("file:/", "")));
			properties.load(inputStream);
			//修改编码,解决中文乱码问题
//			result = new String(properties.getProperty(key).toString().getBytes("ISO8859_1"),"gbk");
			if(properties.containsKey(key)){
				result = properties.getProperty(key).toString();
			}
		}catch (Exception e) {
			result = "读取配置文件信息出现错误。";
			if(inputStream != null){
				try {
					inputStream.close();
				} catch (IOException e1) {
					result = "关闭输出流出现错误。";
				}
			}
		}
		return result;
	}
	
	/**
	 * 修改对应的键值对(如果没有的话,会是新增)
	 * 
	 * @param propertiesName
	 *            配置文件的名称,注意内容同上。
	 * @param key
	 *            对应的键值
	 * @param value
	 *            对应的value值
	 * @return 返回是否操作正確
	 */
	public static boolean writePropertiesValue(String propertiesName,String key,String value){
		boolean b = false;
		OutputStream outputStream = null;
		InputStream fis = null;
		Properties properties = new Properties();
		try{
			//打开输入流的作用是保存没有被修改的键值对,如果没有下面两行,对应的配置文件中就只有设置的键值对了。
			fis = new FileInputStream(PropertiesBean.class.getClassLoader().getResource(propertiesName).toString().replaceAll("file:/", ""));
            //从输入流中读取属性列表(键和元素对)
			properties.load(fis);
			outputStream = new FileOutputStream(PropertiesBean.class.getClassLoader().getResource(propertiesName).toString().replaceAll("file:/", ""));
			properties.setProperty(key, value);
			properties.store(outputStream, "修改配置文件信息");
			b = true;
		}catch (Exception e) {
			System.out.println("写入配置文件出现错误。"+e.getMessage().toString());
		}finally{
			try {
				outputStream.close();
				fis.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				System.out.println("关闭输出出入流出现问题。");
			}
		}
		return b;
	}
}
java注解实例 java注解实例
很简单的注解实例,直接见代码,之前也是不理解,慢慢想,敲敲就会了。
package org.keyuan.annotation;
import java.lang.annotation.Documented;   
import java.lang.annotation.Inherited;   
import java.lang.annotation.Retention;   
import java.lang.annotation.Target;   
import java.lang.annotation.ElementType;   
import java.lang.annotation.RetentionPolicy;   
  
/*  
 * 元注解@Target,@Retention,@Documented,@Inherited  
 *   
 *     @Target 表示该注解用于什么地方,可能的 ElemenetType 参数包括:  
 *         ElemenetType.CONSTRUCTOR 构造器声明  
 *         ElemenetType.FIELD 域声明(包括 enum 实例)  
 *         ElemenetType.LOCAL_VARIABLE 局部变量声明  
 *         ElemenetType.METHOD 方法声明  
 *         ElemenetType.PACKAGE 包声明  
 *         ElemenetType.PARAMETER 参数声明  
 *         ElemenetType.TYPE 类,接口(包括注解类型)或enum声明  
 *           
 *     @Retention 表示在什么级别保存该注解信息。可选的 RetentionPolicy 参数包括:  
 *         RetentionPolicy.SOURCE 注解将被编译器丢弃  
 *         RetentionPolicy.CLASS 注解在class文件中可用,但会被VM丢弃  
 *         RetentionPolicy.RUNTIME VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息。  
 *           
 *     @Documented 将此注解包含在 javadoc 中  
 *       
 *     @Inherited 允许子类继承父类中的注解  
 *     
 */  
@Target(ElementType.METHOD)   
@Retention(RetentionPolicy.RUNTIME)   
@Documented  
@Inherited  
/*  
 * 定义注解 Test  
 * 注解中含有两个元素 id 和 description  
 * description 元素 有默认值 "no description"  
 */  
public @interface Test {   
    public int id();   
    public String description() default "no description";   
}  






package org.keyuan.annotation;

import java.lang.reflect.Method;

/**
 * 简单实例操作注解
 * @class AnnotationExample
 * @description 
 * @author 李智慧
 * @copyRight copyright(c) 2011 广东南航易网通电子商务有限公司,Rights Reserved
 * @time Dec 6, 2011 2:49:56 PM
 */
public class AnnotationExample {
	 /*  
     * 被注解的三个方法  
     */  
    @Test(id = 1, description = "hello method_1")   
    public void method_1() {   
    }   
  
    @Test(id = 2)   
    public void method_2() {   
    }   
  
    @Test(id = 3, description = "last method")   
    public void method_3() {   
    }   
  
    /*  
     * 解析注解,将Test_1类 所有被注解方法 的信息打印出来  
     */  
    public static void main(String[] args) {   
        Method[] methods = AnnotationExample.class.getDeclaredMethods();   
        for (Method method : methods) {   
            /*  
             * 判断方法中是否有指定注解类型的注解  
             */  
            boolean hasAnnotation = method.isAnnotationPresent(Test.class);   
            if (hasAnnotation) {   
                /*  
                 * 根据注解类型返回方法的指定类型注解  
                 */  
                Test annotation = method.getAnnotation(Test.class);   
                System.out.println("Test( method = " + method.getName()   
                        + " , id = " + annotation.id() + " , description = "  
                        + annotation.description() + " )");   
            }   
        }   
    }   
}  
Global site tag (gtag.js) - Google Analytics