• About Me
  • Java基礎教學
  • 部落格聯播

[Java]讀取InputRead及寫入OutputWrite檔案File

Input及Output也就是IO的存取上,不只有Console輸出、鍵盤輸入這種組合,很常用的還有檔案的讀取及寫入,Java在讀取及寫入檔案上可大略分成二部份,Binary元位組IO及純文字的IO。

常用的class均屬於java.io這個package裡,以下圖表是讀取File檔時可用的相關類別。其相關的api說明可以參考Oracle sun JDK api

JavaIO以行為來分的話,可分成輸出模組及輸入模組,輸出模組像是寫入檔案、輸出至Console,而輸入模組像是讀取檔案、鍵盤輸入等。在類別名稱上可以很清楚的判別,含有字詞Input或Reader就是輸入模組,而含有字詞Output或Writer就是輸出模組。

Java讀取檔案

詳細文章

[Java]基本IO輸出Output及輸入Input-Console

Java的輸出及輸入控制大都定義在java.io.*裡,像是檔案File的讀寫,週邊設備RS232、LPT等的輸出與輸入都需要到Java IO。而Java IO大概分成二大類,一類是byte的讀取與寫出,可讀取寫入二位元binary的資料,而另一個是char的讀取與寫入,提供文字的讀取與寫入。

System類別並不屬於java.io的套件,而是屬於java.lang套件,在使用時預設載入,所以並不需要特別去import它。

  • System.in 通常是指鍵盤的輸入,為java.io.InputStream類別
  • System.out 通常是指Console螢幕輸出,為java.io.PrintStream類別
  • System.err 同System.out,主要是用在系統出錯時輸出至Console螢幕

註:Java本身在處理字串時均是使用utf8 uncode的方式,不過在Windows的Console(螢幕)字串的顯示與輸入都是使用ISO-8859-1編碼,所以需要先把字串轉換成Big5再行輸出,在Linux上則不會有這種問題。

System.out

  • System.out.println(內容):輸出”內容”加上”斷行\r\n”至Console(螢幕)
  • System.out.print(內容):輸出”內容”至Console(螢幕)

如果要輸出的內容需要有字串、文字、日期等,可以利用字串的連接+來把字串串連起來進行輸出。ex."中文"+123

如果需要自行做斷行,可以使用\r\n來做換行動作。ex.System.out.print("中文\r\n我換行了");

Out.png

詳細文章

[ExtJS]範例Tree元件的使用Ext.tree.TreePanel

ExtJS的TreePanel樹是繼承Ext.Panel,所以它可以算是一個Container,不過它也是算是一個ExtJS的Component,給於TreeNode來完成樹狀結果,可以應用在選單或是分類等地方。像是下圖

ExtJSTree3.png

左邊圖是設定rootVisible : false,而右邊圖是設定rootVisible : true,根結點是否顯示

ExtJSTree1.pngExtJSTree2.png

相關資料

ExtJS的API

ExtJS的下載點

ExtJS官網

ExtJS Example

詳細文章

[php]簡單的購物車範例

簡單的購物車範例,不需要操作Session,範例有新增、修改與刪除購物車等,主要是修改 [Class]參考 sCart 建立的購物車 Class,這個範例年代久遠,所以在使用時有發生問題也不知道怎麼處理,所以小修了一下。

程式的概念是有一個產品展示頁面,有加入購物車功能,加入購物車後,可以至下一頁修改數量或刪除產品,修改或刪除產品時總金額也會隨著一起更新,再下一頁就可以看到最後結帳的最終資訊,理論上可以在這裡製作聯絡資料的表單。

產品展示頁面

product.png

詳細文章

[程式分享]使用Eclipse的Virtual Editor撰寫的時鐘 、倒數、計時器

想法
用一個JFrame裡面放三個Tab panel分別為
時間、計時、倒數
利用三個Thread控制以上三件事
1時間
取得一個Calendar.getInstance() 得到 時、分、秒
然後在Thread的Run裡每一秒加一
2計時
”開始”利用一個Runnable從0時0分0秒一直累加
”結束”把Runnable解除掉(run直接結束)
”清除”設時、分、秒為0
3倒數
需三個TextField控制設定初始之時、分、秒
”開始”利用一個Runnable初始值一直減少到0
”結束”把Runnable解除掉(run直接結束)
會有的問題
1.    利用Sleep控制會因為電腦的處理其它判斷快慢而影響其正確性
2.    倒數之設定初始值可用除制只輸入數字及判斷輸入值之正確性來避免Exception
3.    計時及倒數,初始時並沒有顯示於畫面上

以下是程式碼及包裝好的jar檔,有興趣的可以下載看看

詳細文章