2005/11/17

[Java]刪除檔案

Source File Name : DeleteFile.java
-----------------------------------------------------------
import java.io.*;

class DeleteFile
{
  public static void main(String[] args)
  {
    System.out.println("Delete File : c:\\test.txt");

    File f1 = new File("C:\\test.txt");
    if ( f1.delete() ) {
      System.out.println("Delete Succes!!");
    }
    else {
      System.out.println("Delete Fail!!");
    }
  }
}
-----------------------------------------------------------


Result :
-----------------------------------------------------------
Delete File : c:\test.txt
Delete Succes!!

-----------------------------------------------------------

2005/11/15

[Java]日期函數-月有幾天,今天星期幾

Source File Name : MonthDay.java
-----------------------------------------------------------
import java.util.Calendar;

class MonthDay
{
  public static void main(String[] args)
  {
    Calendar cal = Calendar.getInstance();

    //Java 中月 1 - 12 月,分別對應是 0 - 11
    //設定目前日期為 2000/02/01(29天)
    cal.set(2000, 1, 1);
    System.out.println("2000/02 have " + cal.getActualMaximum(Calendar.DAY_OF_MONTH) + " days.");
    //設定目前日期為 2002/02/01(28天)
    cal.set(2002, 1, 1);
    System.out.println("2002/02 have " + cal.getActualMaximum(Calendar.DAY_OF_MONTH) + " days.");
    //設定目前日期為 2006/01/01(31天)
    cal.set(2006, 0, 1);
    System.out.println("2006/02 have " + cal.getActualMaximum(Calendar.DAY_OF_MONTH) + " days.");

    //Java 中星期 日、一、二、...、六,分別對應是 1 - 7
    //設定目前日期為 2005/12/25(星期日)
    cal.set(2005, 11, 25);
    System.out.println("2005/12/25 is " + cal.get(Calendar.DAY_OF_WEEK) + ".");

    //設定目前日期為 2005/12/26(星期一)
    cal.set(2005, 11, 26);
    System.out.println("2005/12/26 is " + cal.get(Calendar.DAY_OF_WEEK) + ".");

    //設定目前日期為 2005/12/27(星期二)
    cal.set(2005, 11, 27);
    System.out.println("2005/12/27 is " + cal.get(Calendar.DAY_OF_WEEK) + ".");

    //設定目前日期為 2005/12/28(星期三)
    cal.set(2005, 11, 28);
    System.out.println("2005/12/28 is " + cal.get(Calendar.DAY_OF_WEEK) + ".");

    //設定目前日期為 2005/12/29(星期四)
    cal.set(2005, 11, 29);
    System.out.println("2005/12/29 is " + cal.get(Calendar.DAY_OF_WEEK) + ".");

    //設定目前日期為 2005/12/30(星期五)
    cal.set(2005, 11, 30);
    System.out.println("2005/12/30 is " + cal.get(Calendar.DAY_OF_WEEK) + ".");

    //設定目前日期為 2005/12/31(星期六)
    cal.set(2005, 11, 31);
    System.out.println("2005/12/31 is " + cal.get(Calendar.DAY_OF_WEEK) + ".");
  }
}
-----------------------------------------------------------


Result :
-----------------------------------------------------------
2000/02 have 29 days.
2002/02 have 28 days.
2006/02 have 31 days.
2005/12/25 is 1.
2005/12/26 is 2.
2005/12/27 is 3.
2005/12/28 is 4.
2005/12/29 is 5.
2005/12/30 is 6.
2005/12/31 is 7.
-----------------------------------------------------------

2005/11/14

[Java]日期格式化與日期加減

Source File Name : DateIncDec.java
-----------------------------------------------------------
import java.util.*;
import java.text.*;

class DateIncDec
{
  public static void main(String[] args)
  {
    java.util.Date d1 = new java.util.Date();
    SimpleDateFormat sdfmt = new SimpleDateFormat("yyyy/MM/dd");
    //SimpleDateFormat sdfmt = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    Calendar cal = Calendar.getInstance();

    //設定目前日期為 2005/5/31
    //Java 中月 1 - 12 月,分別對應是 0 - 11

    cal.set(2005,4,31);

    d1 = cal.getTime();
    System.out.println("Now Set Date = " + sdfmt.format(d1));

    //2005/5/31 往前 3 個月 為 2005/2/28
    /** Calendar.YEAR 代表加減年
    ** Calendar.MONTH 代表加減月份
    ** Calendar.DATE 代表加減天數
    ** Calendar.HOUR 代表加減小時數
    ** Calendar.MINUTE 代表加減分鐘數
    ** Calendar.SECOND 代表加減秒數
    **/

    cal.add(Calendar.MONTH,-3);

    d1 = cal.getTime();
    System.out.println("Decrease 3 months Date = " + sdfmt.format(d1));
  }
}
-----------------------------------------------------------


Result :
-----------------------------------------------------------
Now Set Date = 2005/05/31
Add 3 months Date = 2005/02/28

-----------------------------------------------------------

2005/11/07

[Eclipse]Sysdeo Eclipse Tomcat Launcher plugin 安裝說明

介紹一個 Eclipse 中用來開發 Tomcat Web 應用程式的 Plug-in,Sysdeo Eclipse Tomcat Launcher plugin,目前的版本是 3.1 beta ,下載網址為
http://www.sysdeo.com/sysdeo/eclipse/tomcatplugin

  1. 從網路上下載 “tomcatPluginV31beta.zip” ,將此檔案解壓縮之後,得到一個目錄 “com.sysdeo.eclipse.tomcat_3.1.0.beta” 將此目錄放置到 “plugins” 下即可,也可以參考 [Eclipse]Eclipse 彈性化 Plug-in 架構設定 這篇文章,將其放置到你設定的地方,方便版本升級與管理

  2. 重新啟動 Eclipse , Eclipse 就會偵測到 Tomcat Launcher ,功能表上會出現 [Tomcat] 且工具列上也會出現按鈕


  3. Eclipse 中 Plug-in 設定有兩個地方

    • [Window] → [Customize Perspective] 設定跟功能表、工具列、與 View 之類的設定


    • [Window] → [Preferences] 則是各個 Plug-in 的細部設定


  4. [Window] → [Customize Perspective] → [Shortcuts] → [Submenus] → [New] → [Java] → [Tomcat Project] 按 “OK”


  5. 完成上一步驟之後,選 [File] → [New] 就會多出 [Tomcat Project] 可以建立 Web 應用程式的專案了


  6. [Window] → [Preferences] → [Tomcat] 設定 [Tomcat version]:你使用的 Tomcat 版本,跟 [Tomcat home]:Tomcat 安裝目錄,按 “Apply”


  7. [Window] → [Preferences] → [Tomcat] → [Advanced] 設定 [Tomcat home] :Tomcat 安裝目錄,按 “Apply”


  8. [Window] → [Preferences] → [Tomcat] → [JVM Settings] 設定 [JRE]:你使用的 JRE 版本,按 “Apply”


  9. [Window] → [Preferences] → [Tomcat] → [Tomcat Manager App] 設定相關帳號及密碼,按 “Apply”


  10. 到此步驟已經安裝完成了,可以按下工具列上的 [Start Tomcat] 按鈕才啟動 Tomcat,會在 Eclipse 右下畫面出現一個 Console 視窗,如果沒有任何錯誤,出現 “… Start …” 代表啟動成功了!!

[Eclipse]Eclipse 彈性化 Plug-in 架構設定

Eclipse為一整合性的開發工具,由於它可以自行開發及安裝許多的 Plug-in ,所以有越來越多的使用者使用這個開發工具,其實最重要的是它是一個免費的開發軟體,以目前強調智慧財產權的觀念,免費的開發工具,將會越來越受到重視。

想要更了解 Eclipse 這個軟體,可以到它的網站拜訪 http://www.eclipse.org
順便下載目前最新版本的 Eclipse SDK 3.1.1
  • 下載 “eclipse-SDK-3.1.1-win32.zip” 這個檔案之後,解開得到一個如下的目錄架構
  • 之後,要執行 Eclipse 只要雙擊 “eclipse.exe” 就可以執行了

  • 但是如果只是這樣,那這篇教學就沒意義了,因為 Eclipse 的強大就在於它可以使用一堆的 Plug-in 來增強它的功能,Plug-in 功能多的不勝枚舉,如:XML, UML, JSP, C++, DataBase, J2EE, J2ME, … 等,如果要知道有哪些好玩的 Plug-in 可以到 http://eclipse-plugins.2y.net 去找找,或是直接搜尋 “Eclipse Plug-in” 關鍵字

  • 當安裝 Eclipse Plug-in 時,只需將找到的 Plug-in 放置到 eclipse->plugins 目錄下面,重新啟動 Eclipse即可

  • 但是當你安裝的 Plug-in 越來越多時,你就會不清楚你裝了哪些東西,當有心版本的 Plug-in 時,也不知要怎麼更新,所以以下將採用另一種較為彈性的架構來安裝你的 Plug-in,方便管理

    1. 建立一個目錄 “c:\eclipse”

    2. 把剛剛下載的最新版本的 Eclipse 3.1.1 搬移到 c:\eclipse 下

    3. 建立一個目錄 “c:\eclipse\plugins”

    4. 得到如下圖的目錄結構


    5. 建立一個目錄 “c:\eclipse\eclipse\links” ,如下圖


    6. 舉例我要安裝一個 “XML Buddy” 的 Plug-in 先到 http://www.xmlbuddy.com/ 下載 “xmlbuddy_2.0.72.zip” ,解壓縮後得到 “com.objfac.xmleditor_2.0.72” 目錄

    7. 在 “c:\eclipse\plugins” 下建立一目錄 “xmlbuddy” (此目錄名稱可以自取)

    8. 並建立 “c:\eclipse\plugins\xmlbuddy\eclipse\plugins”

    9. 將 “com.objfac.xmleditor_2.0.72” 此目錄資料搬到“c:\eclipse\plugins\xmlbuddy\eclipse\plugins” 下面,目錄結構如下圖


    10. 在 “C:\eclipse\eclipse\links” 目錄中,建立一個檔案 “xmlbuddy.txt” (檔案名稱可以自訂)

    11. “xmlbuddy.txt” 內如如下,注意 “/” 不是 “\”
    12. path=C:/eclipse/plugins/xmlbuddy


    13. 到此應該大功告成了,重新啟動 Eclipse 到 “Customize Perspective” 設定一下,就可以多了編輯 XML 文件的功能了

    14. 此架構的好處是,當你要更新 Plug-in 版本時,只需要將那個 Plug-in 的資料夾換掉就好,不必更動其他的東西,甚至要跟新 Eclipse 的版本也是,只需將 “eclipse” 資料夾換掉即可,但記得把 “links” 資料夾先複製出來,到時在搬回去,如此一來就不必重新安裝一次 Plug-in ,很方便吧!!

2005/11/04

[Windows XP]關閉使用 Zip 檔案為目錄

在〔開始〕→〔執行〕→鍵入〔regsvr32.exe -u zipfldr.dll〕→ 按〔確定〕便可

[Windows XP]取消 Windows 圖片及傳真檢視器的預設值

Windows XP 看圖時均以 Windows 圖片及傳真檢視器為預設值 ,如需取消此項預設值,修改如下
-----------------------------------------------------------
在〔開始〕→〔執行〕→鍵入〔regedit〕→
選〔HKEY_LOCAL_MACHINE〕→〔SOFTWARE〕→〔Classes〕→〔CLSID
→〔{e84fda7c-1d6a-45f6-b725-cb260c236066}〕→〔shellex
刪除〔MayChangeDefaultMenu〕的機碼

-----------------------------------------------------------

2005/11/03

[Windows XP]利用批次檔設定網路 IP 位置

使用 NoteBook 時,經常必須變更網路 IP Address,非常麻煩,這個批次檔將會解決這個問題

  1. 網路環境為,設定自動取得 IP 時,並且沒有設定 Proxy時
    DHCP.bat
    -----------------------------------------------------------
    netsh interface ip set address name="區域連線" source=dhcp
    netsh interface ip set dns name="區域連線" source=dhcp register=PRIMARY
    netsh interface ip set wins name="區域連線" source=dhcp
    ieproxy_noproxy.reg

    -----------------------------------------------------------
    區域連線:為你網路卡的名稱,可以自行修改(紅色字體部份)


  2. 網路環境為,固定 IP ,並且有設定 Proxy 時
    假設
    IP:192.168.1.33 mask:255.255.255.0
    Gateway:192.168.1.254
    DNS:192.168.66.45
    WINS:
    192_168_1_33.bat
    -----------------------------------------------------------
    netsh interface ip set address name="區域連線" source=static addr=192.168.1.33 mask=255.255.255.0
    netsh interface ip set address name="區域連線" gateway=192.168.1.254 gwmetric=0
    netsh interface ip set dns name="區域連線" source=static addr=192.168.66.45 register=PRIMARY
    netsh interface ip set wins name="區域連線" source=static addr=none
    ieproxy_useproxy.reg
    -----------------------------------------------------------
    區域連線:為你網路卡的名稱,可以自行修改
    紅色字體部份:都可以修改的


  3. 設定瀏覽器不使用 Proxy
    ieproxy_noproxy.reg
    -----------------------------------------------------------
    Windows Registry Editor Version 5.00
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
    "ProxyEnable"=dword:00000000
    -----------------------------------------------------------

  4. 設定瀏覽器使用 Proxy
    假設
    Proxy Server:proxy.server01.com:8002
    ieproxy_useproxy.reg
    -----------------------------------------------------------
    Windows Registry Editor Version 5.00
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
    "ProxyEnable"=dword:00000001
    "ProxyServer"="proxy.server01.com:8002"

    -----------------------------------------------------------
    紅色字體部份:都可以修改的


以上四個檔案,選擇你要使用的檔案並修改相關參數,存放於同一個目錄下,當要該改 IP 時,只要執行某個批次檔即可....

[Windows XP]在命令提示字元MS-DOS視窗中,按Tab鍵自動補齊檔名

將下列程式複製起來,貼在記事本,並存檔成 test.reg,然後執行此檔案即可
-----------------------------------------------------------
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"CompletionChar"=dword:00000009
-----------------------------------------------------------

[Windows XP]在滑鼠右鍵選單中加入以記事本開啟檔案的選項

將下列程式複製起來,貼在記事本,並存檔成 test.reg,然後執行此檔案即可
-----------------------------------------------------------
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\OpenInNotepad]
@="使用記事本開啟"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\OpenInNotepad\command]
@="notepad.exe \"%1\""
-----------------------------------------------------------

[VB.NET] 存取文字檔

使用函數說明:
FreeFile()
- 傳回 FileOpen 函數下一個可用的檔案代號,傳回值是整數

FileOpen(檔案代號, 檔案名稱路徑, 檔案開啟模式)
- 使用檔案開啟模式,開啟檔案代號的檔案
- 檔案開啟模式
- OpenMode.Input:從檔案中讀取字元,這是已經存在的檔案,程式需要使用Try/End Try錯誤處理避免開啟不存在的檔案
- OpenMode.Output:將字元寫入檔案,如果檔案不存在,就建立此檔案,如果檔案已有內容會清除內容
- OpenMode.Append:將字元寫入檔案結尾的最後,它不會清除檔案內容,只是加在最後,如果檔案不存在,就建立此檔案

FileClose(檔案代號)
- 關閉檔案代號的檔案

Print(檔案代號, String)
- 將參數 String 的字串寫入檔案代號的檔案

PrintLine(檔案代號, String)
- 同 Print 函數,只是在最後加一個換行符號

LineInput(檔案代號)
- 傳回開啟循序檔讀取的單行資料,但是不包含換行符號,傳回值是 String 字串變數

EOF(檔案代號)
- 傳回參數檔案代號的檔案是否已經到達檔尾,傳回布林值 True 為是,False 為否


例:寫入資料到 Test.txt 檔案中
Dim FileNum As Integer
Dim strTemp as String

FileNum = FreeFile()
FileOpen(FileNum, "C:\Test.txt", OpenMode.Output)

strTemp = "輸入測試字串"
PrintLine(FileNum, strTemp)

FileClose(FileNum)


例:從 Test.txt 檔案中讀取資料
Dim FileNum As Integer
Dim strTemp as String

FileNum = FreeFile()
FileOpen(FileNum, "C:\Test.txt", OpenMode.Input)

Do Until EOF(FileNum)
    strTemp &= LineInput(FileNum) & vbNewLine
Loop

FileClose(FileNum)