顯示具有 Java 標籤的文章。 顯示所有文章
顯示具有 Java 標籤的文章。 顯示所有文章

2011年11月1日 星期二

Rhino環境應用Java的URL類別抓取網頁資料

前篇「應用readUrl函數取得網頁資料」使用的是Rhino環境提供的函數readUrl()抓取網頁資料,算是方便又簡單的抓取網頁資料方法,這篇改以呼叫Java的URL類別實作抓取網頁資料的作法。
其實會想自行改用Java的URL類別抓取網頁連線,主要是看到這篇文章「java HttpURLConnection來實作get及post動作」的範例與說明,該文章同時介紹了GET與POST方法;GET部份其實用函數readUrl()就可以達成,但POST部份就沒看到Rhino環境有提供適用的函數,看來要想辦法自行設計,剛好「借」該篇文章的程式碼來改看看。

2011年9月15日 星期四

應用load函數載入共用的程式碼

對於經常共用的程式碼,撰寫成獨立的檔案後再提供給主程式載入呼叫,是再平常不過的作法(其實這也是必要的,重複程式碼的存在表示日後維護上的可怕夢靨)。
Rhino環境下是透過load()函數載入外部JavaScript程式碼,載入的語法可以採用絕對路徑與相對路徑的方式;這樣一來,可以考慮將共用的JavaScript程式碼統一放置在固定目錄下,採用絕對路徑的方式載入共用的程式碼。
雖然採用絕對路徑的方式可以達到共用程式碼只需要一份的目的,但在不同電腦上使用時,就必須建立該路徑(不然就是要修改程式碼內的路徑字串),若是再考量作業系統的差異,使用絕對路徑有時不見得是方便的方式。有鑑於此,我還是習慣使用相對路徑的方式,在「整合Portable Notepad++的Rhino執行環境」設計的批次檔中,就加入工作路徑切換,目的就是方便load()函數使用相對路徑指定共用的JavaScript程式碼。只是這樣一來,變成在每個設計工作的目錄下都必須複製乙份這些共用的程式碼;而且當共用的JavaScript程式碼有修改時,如何維持這些共用JavaScript程式碼保持一至也是一個需要留意的問題。

2011年8月23日 星期二

Rhino環境的BIG5toUTF-8編碼轉檔程式

既然已經可以讀/寫"BIG5"編碼格式與UTF-8編碼格式的文字檔,要完成BIG5轉UTF-8檔案轉碼功能的函數就只要拼湊前面用到的Java物件就行了。這篇文章只是純粹整理前面用到的程式碼,如果有人不小心看到這篇,就不用浪費時間往下再看了 @..@

2011年8月21日 星期日

指定Rhino環境的DOS視窗編碼格式

Rhino環境下,使用print()函數會將訊息輸出至DOS的console視窗,在上一篇「Rhino原始碼使用UTF-8編碼格式儲存與執行」執行的結果中,雖然將訊息顯示在console視窗,但顯示結果已變成亂碼。
回頭再看一遍「JVM 預設編碼」這篇文章,雖然藉由"-Dfile.encoding"指定JVM預設編碼,讓"UTF-8"編碼格式的JavaScript檔案可以被載入與執行,但同時也將輸出至console視窗的編碼也指定成"UTF-8"編碼格式,造成顯示結果變成亂碼。而在「JVM 預設編碼」內容也提到解決辦法,不過之前沒把整篇文章看懂,所以只解決一半的問題。

Rhino原始碼使用UTF-8編碼格式儲存與執行

你的原始碼是什麼編碼?」介紹Java與C語言原始碼存檔的編碼格式、編譯方式、執行結果,其中介紹到的BOM相當詳細;只是我在使用"UTF-8"編碼格式存文字檔時,都是習慣使用檔首無BOM的方式,剛好沒遇到該文提到的問題^_^
JVM 預設編碼」介紹的應該可以解決「Rhino的原始檔編碼格式?」文章中遇到無法執行"UTF-8"編碼格式儲存的Rhino JavaScript。既然Rhino環境使用Java語言開發,自然要由JVM(Java Virtual Machine)啟動。在XP/Vista環境下預設的是"BIG5"編碼格式,所以造成"UTF-8"編碼格式的JavaScript檔案無法順利讀取。

2011年8月20日 星期六

Rhino的原始檔編碼格式?

只要跟編碼格式扯上關係,有些簡單的問題變得就不簡單了~_~
在中文系統中,編碼始終都是程式設計中相當讓人討厭的一部份。前面試過在Rhino環境下讀寫"UTF-8"編碼格式的文字檔案,結果看來還正確。那麼,如果Rhino的JavaScript檔案使用"UTF-8"編碼格式的話?特別是要程式內夾雜中文字串時?

Rhino運用Java物件讀寫UTF-8文字檔案

在前一篇「Rhino運用Java物件的方式」中,試著在Rhino環境下使用Java物件進行檔案的讀/寫功能。但在處理其它檔案時發現,無法讀取UTF-8編碼格式的文字檔(廢話 ~_~)。上網翻一下,如果要讀/寫"UTF-8"編碼格式的文字檔,就要在開啟檔案時指定編碼方式。
底下二篇文章對於編碼的說明比較清楚,提供參考:

2011年7月29日 星期五

Rhino運用Java物件的方式

這陣子花了點時間試著用Rhino開發程式,雖然還沒有很習慣Rhino與Java互動的方式,但在一連串的錯誤嘗試與測試過程中,發現Rhino還滿符合我想要的工具。熟悉JavaScript程式語言語法是最主要目的,但如果可以實際用來解決日常的工作需求,這樣就不算白費時間了。
有關Rhino使用Java packages、classes的方式,可以參考官網Scripting Java的說明。透過運用Java物件,就可以採用JavaScript的語法處理本機電腦上許多的工作(就像Windows提供JScript語言的方式)。若是將Java的JVM(Java Virtual Machine)當作一項優點,也許在「理想狀況」下,也可以將Rhino平臺所撰寫的JavaScript程式達到Wirte Once Run Anywhere的目標。