2008年6月29日 星期日

Instanceof 測試

如果要用來判斷傳入的是那種型態,參考如下 :

public class InstanceoftTest {


InstanceoftTest(){

String s = "this is String";
Integer i = new Integer(1);
BigDecimal b = new BigDecimal(2.34);
checkWithInstanceof(s);
checkWithInstanceof(i);
checkWithInstanceof(b);
}

public static void checkWithInstanceof(Object o){

if(o instanceof Integer){
System.out.println("Your Class Type is Integer");
}else if(o instanceof BigDecimal){
System.out.println("Your Class Type is BigDecimal");
}else{
System.out.println("Your Class Type will conver String");
}
}



}

2008年6月26日 星期四

學習 jQuery (一)

1.why jQuery

寫過javascript來操作Dom是很麻煩的,jQuery可以比較簡單的來取出相關的Element。
jQuery 所有的 API 都是定義在 jQuery 這個物件下,沒有對 JavaScript 原生的物件作任何修改。
同時 jQuery 的 selector(取得網頁物件的 API)符合 CSS 的語法,同時寫 jQuery 及 CSS 一點都不會錯亂。

2.Download JQuery

網站上有三個版
1.jquery-xxxx.js
這是 jQuery 程式碼最好讀的版本,如果你打算研究 jQuery 的原始程式碼,那下載這個版本是最清楚的。
2.jquery-xxxx.min.js
這個版本與 1. 是一樣的程式碼,只不過把多餘的空白或是換行給拿掉,以便讓整個 js 檔案大小可以下降,
在上線的網站上使用這個版本可以讓使用者下載量變少一點,以提升整個頁面的載入速度。
3.jquery-xxxx.pack.js
這個版本把原本 jQuery 的程式碼作了「壓縮」,也就是有一些名稱代換的方式把 code size 進行更進一步的塑身。
不過因為它用了 eval() 這個函式,所以 JavaScript 的載入會稍微延遲一點時間。

3.第一個jQuery程式


<html>
<head>
<title>jQuery Tutorial 1</title>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript">
function showMsg(e) {
$(e.target).attr('disabled', true);
if ($('#msg').html().length == 0) {
$('#msg').html('<h1>Hello</h1>');
}
$('#msg').fadeIn();
setTimeout(function(){
$('#msg').fadeOut();
$(e.target).attr('disabled', false);
}, 3000);
}

$(document).ready(function(e){
$('#btn').click(showMsg);
});
</script>
</head>
<body>
<div id="msg"></div>
<input type="button" value="Click Me" id="btn"/>
</body>
</html>


4. UI plug in


4.1 UI plug : http://ui.jquery.com/themeroller
4.2 UI plug in API: http://docs.jquery.com/UI

2008年6月25日 星期三

從web.xml取出變數


如果想取出web.xml裡的key-value,做法如下:

1. web.xml設定

<context-param>
<param-name>notebook</param-name>
<param-value>1</param-value>
</context-param>

2. 在程式做法(以下做法是在JSF下)

private FacesContext fc = FacesContext.getCurrentInstance();
//透過facesContext可取得httpSession
HttpSession session = (HttpSession) fc.getExternalContext().getSession(false);
//可取出初始化變數(name="notebook")
String a = session.getServletContext().getInitParameter("notebook");

if(null!=a && a.equals("1")) {
cps_tbld_dir ="//users//macbook//java//test//FTP_DIR//TBLD";
}

2008年6月24日 星期二

Java: System Properties

來源: http://www.leepoint.net/notes-java/io/30properties_and_preferences/40sysprops/10sysprop.html

From System Properties you can find information about the operating system, the user, and the version of Java.

The property names (keys) and values are stored in a Properties structure. (See Properties). A Properties object can also be used to store your own program properties in a file.


Getting the System Properties

Typically you get one property at a time by supplying the key in a call to System.getProperty().

  • String System.getProperty(String key)
    Returns the value of property key as a String.
  • String System.getProperty(String key, String default)
    Returns the value of property key as a string, or default if the property did not exist.
  • Properties System.getProperties()
    Returns a Properties object which has the value of all the properties. There are several ways to work with this object; see below for one example.

Example

String userDir = System.getProperty("user.dir");

A list of system properties

Here are the properties that displayed on my system.

Here are the properties that displayed on my system.

awt.toolkit=sun.awt.windows.WToolkit
file.encoding=Cp1252
file.encoding.pkg=sun.io
file.separator=\
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.awt.printerjob=sun.awt.windows.WPrinterJob
java.class.path=.;c:\classpath\com.fredswartz.utilities.jar;c:\classpath\TableLayout.jar;c:\classpath\swixml.jar;c:\classpath\jdom.jar;c:\classpath\pmd-1.8\lib\pmd-1.8.jar;C:\classpath\pmd-1.8\lib\jaxen-core-1.0-fcs.jar;C:\classpath\com.fredswartz.guiUtils.jar;C:\classpath\com.fredswartz.fmt-0.7.jar;C:\Program Files\IBM\Cloudscape_10.0\lib\derby.jar
java.class.version=49.0
java.endorsed.dirs=C:\Program Files\Java\jdk1.5.0_01\jre\lib\endorsed
java.ext.dirs=C:\Program Files\Java\jdk1.5.0_01\jre\lib\ext
java.home=C:\Program Files\Java\jdk1.5.0_01\jre
java.io.tmpdir=C:\DOCUME~1\Owner\LOCALS~1\Temp\
java.library.path=C:\Program Files\Java\jdk1.5.0_01\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Python22;C:\Program Files\PC-Doctor for Windows\services;c:\ant\bin;c:\Program Files\Java\jdk\bin;c:\Program Files\Java\jdk\jre\javaws;C:\Program Files\Sybase\Adaptive Server Anywhere 6.0\win32;c:\classpath\jcsc/bin;c:\classpath\jcsc\bin;C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin
java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition
java.runtime.version=1.5.0_01-b08
java.specification.name=Java Platform API Specification
java.specification.vendor=Sun Microsystems Inc.
java.specification.version=1.5
java.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.com/
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi
java.version=1.5.0_01
java.vm.info=mixed mode, sharing
java.vm.name=Java HotSpot(TM) Client VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Sun Microsystems Inc.
java.vm.specification.version=1.0
java.vm.vendor=Sun Microsystems Inc.
java.vm.version=1.5.0_01-b08
line.separator=

os.arch=x86
os.name=Windows XP
os.version=5.1
path.separator=;
sun.arch.data.model=32
sun.boot.class.path=C:\Program Files\Java\jdk1.5.0_01\jre\lib\rt.jar;C:\Program Files\Java\jdk1.5.0_01\jre\lib\i18n.jar;C:\Program Files\Java\jdk1.5.0_01\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.5.0_01\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.5.0_01\jre\lib\jce.jar;C:\Program Files\Java\jdk1.5.0_01\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.5.0_01\jre\classes
sun.boot.library.path=C:\Program Files\Java\jdk1.5.0_01\jre\bin
sun.cpu.endian=little
sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
sun.desktop=windows
sun.io.unicode.encoding=UnicodeLittle
sun.jnu.encoding=Cp1252
sun.management.compiler=HotSpot Client Compiler
sun.os.patch.level=Service Pack 2
user.country=US
user.dir=C:\0www-workingnotes\notes-java-working\io\30properties_and_preferences\40sysprops\SysPropList
user.home=C:\Documents and Settings\Owner
user.language=en
user.name=Owner
user.timezone=
user.variant=

public void SysOsName(){

Properties pr = System.getProperties();
//取得os的名稱
String osName = pr.getProperty("os.name");
if(osName.toLowerCase().subSequence(0,3).equals("mac")){
System.out.println(" Your Computer OS System is Mac Os");
}

2008年6月13日 星期五

java讀檔筆記

這是一個binary Code 讀檔的範例,格式如下

1 Application status
12 FileName
8 Data Application
2 "\n\n"


長度共1+12+8+2 = 23

以下範例是長度會部是92,每個陣例長度為 23,所共陣例長度為4

import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;


public class G2CLogFileRead {

private static final int len = 23;

public void run(){
String fileName = "/Users/macbook/java/test/REF00906.BVA";
run(fileName);
}

public void run(String fileName){

try {

File file = new File(fileName);
FileInputStream fis = new FileInputStream(file);
DataInputStream dis = new DataInputStream(fis);
ByteArrayOutputStream bos = new ByteArrayOutputStream();

int b = dis.read();

while (b > -1) {
bos.write(b);
b = dis.read();
}
byte[] ba = bos.toByteArray();

/* Every File length is 23 */
int fileSize = ((ba.length+1)/len);

String[] fName = new String[fileSize];
int k =0;
StringBuilder s = new StringBuilder();

for(int j = 1 ; j <= ba.length;j++){
s.append((char)(ba[j-1]));
if(j%len==0){
fName[k] = s.toString();
s.delete(0,len);
k++;
}
}

for(int f = 0 ; f< fName.length;f++){
System.out.print(fName[f]);
}


bos.close();
dis.close();

} catch (Exception e) {
System.out.println("IOException: " + e);
}

}


public void parseLog(int[] b) {

System.out.println(b);
}



/**
* @param args
*/
public static void main(String[] args) {

G2CLogFileRead g = new G2CLogFileRead();
/*
if ( args.length== 1 ){
String fileName = args[0];
}else{
System.out.println( "CPSLogTest filename");
return;
}

g.run(args[0]);
*/
g.run();

}

}

2008年6月8日 星期日

如何移除 mac 上的 mysql

若要移除MySQL,請先登入成root,系統最高權限管理者的帳號,將"/usr/local/mysql-版本號碼/data/"檔案夾內,已建立的重要資料庫檔案夾,複製備份出來,再直接將"/usr/local/mysql-版本號碼"這個子目錄直接刪除,
另外在 /資源庫/Receipt/mysql-版本號碼.pkg這個檔案也順便刪除,即完成MySQL在MacOSX平台的軟體移除程序。

相關參考連結
http://www.j2h.tw/bbs/bbs16/150.html
http://www.comentum.com/mysql-administration.html