修改windows cli命令行编码

在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。
如果想正确显示UTF-8字符,可以按照以下步骤操作:

继续阅读

代码页

代码页是字符编码的别名,也称“内码表”,是特定语言的字符集的一张表。早期,代码页是IBM称呼计算机的BIOS所支持的字符集编码。当时通用的操作系统都是命令行界面,这些操作系统直接使用BIOS提供的字符绘制功能来显示字符。这些BIOS代码页也被称为OEM代码页。图形操作系统使用自己的字符呈现引擎(rendering engine),可以支持多个不同的字符集编码,这类代码页被称作ASCII代码页。

继续阅读

javascript(jQuery)对象居中显示

function centerBox(obj){
	var $obj;
	if(obj instanceof jQuery){
		$obj=obj;
	}else{
		$obj=$(obj);
	}
	$obj.show();
	center($obj);
	$(window).scroll(function(){
		center($obj);
	});
	$(window).resize(function(){
		center($obj);
	});
}
function center($obj){
	var windowWidth = document.documentElement.clientWidth; 
	var windowHeight = document.documentElement.clientHeight;
	var popupHeight = $obj.height();
	var popupWidth = $obj.width();
	$obj.css({   
		"position": "absolute",   
		"top": (windowHeight-popupHeight)/2+$(document).scrollTop(),   
		"left": (windowWidth-popupWidth)/2   
	});  
}

 

判断js对象是否为jQuery对象

obj instanceof jQuery或obj instanceof $可以判断出一个对象是否为jQuery对象的。

要判断一个javascript的对象是什么类型,可以使用typeof,但是typeof只能判断出js的基础对象(string,boolean,number,object, ect.)。

var obj = $("body");
if(obj instanceof jQuery){
    alert("这是一个jQuery对象");
}else{
    alert("这是一个其它对象")
}

 

java泛型实现文件缓存

package joyport.hbase;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.HashMap;

/**
 * 文件缓存读写
 * 
 * @author xiepeng@joyport.com
 */
public class UtilFileCache<T> {
	private static String dir;
	private HashMap<String, Object> cache = new HashMap<String, Object>();

	/**
	 * 不带最后的反斜杠
	 * 
	 * @param dir
	 *            String
	 * @throws Exception
	 */
	public UtilFileCache(String dir) throws Exception {
		UtilFileCache.dir = dir;
		// 检查并创建缓存目录
		File file = new File(UtilFileCache.dir);
		if (!file.exists()) {
			file.mkdir();
		}
	}

	/**
	 * 有内存缓存层的反持久化
	 * 
	 * @param key
	 *            String
	 * @return Object
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public T get(String key) throws Exception {
		Object list = this.cache.get(key);
		// 检查有无文件缓存
		if (null == list) {
			list = this.readFile(key);
			this.cache.put(key, list);
		}
		return (T) list;
	}

	/**
	 * 有内存缓存层的持久化
	 * 
	 * @param key
	 *            String
	 * @param data
	 *            Object
	 * @throws Exception
	 */
	public void put(String key, T data) throws Exception {
		this.cache.put(key, data);
		this.saveFile(key, data);
	}

	/**
	 * 反持久化
	 * 
	 * @param key
	 *            String
	 * @return Object
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private T readFile(String key) throws Exception {
		File file = new File(dir + "/" + key);
		Object list = null;
		if (file.exists()) {
			if (file.isFile()) {
				ObjectInputStream ois = new ObjectInputStream(
						new FileInputStream(file));
				list = (Object) ois.readObject();
				ois.close();
			}
		}
		return (T) list;
	}

	/**
	 * 文件持久化
	 * 
	 * @param key
	 *            String
	 * @param data
	 *            Object
	 * @throws Exception
	 */
	private void saveFile(String key, T data) throws Exception {
		File file = new File(dir + "/" + key);
		ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(
				file));
		oos.writeObject(data);
		oos.flush();
		oos.close();
	}
}