Java 如何解析命令列參數
網路上有很多專門處理參數的套件,而本文使用 apache 的 commons-cli 來做說明。如果沒有這個套件請先下載(例如撰寫此文時最新的版本是 commons-cli-1.2-bin.zip)。解壓縮後,可用加入外部 jar 檔或其他方式,讓你的專案能夠使用這個套件。 接著你可以使用 Options 類別來定義可用的選項 (Option) 12Options options = new Options();options.addOption(選項名稱, 選項別名, 是否帶參數, 選項描述); 例如: 12Options options = new Options();options.addOption("u", "username", true, "enter username"); 你的程式將可接受 -u 或 --username 的選項 要將可用選項列出說明可使用 HelpFormatter 類別 12HelpFormatter formatter = new HelpFormatter();formatter. ...
清除 SQL Server Log 檔
如果沒有限制資料庫的Log成長,一不小心某天就發現硬碟竟然滿了,此時會出現這樣的錯誤訊息: 12訊息 9002 ....資料庫 'TestDB' 的交易記錄已滿。如果要了解為何無法重複使用記錄中的空間,請參閱 sys.databases 中的 log_reuse_wait_desc 資料行。 結果發現都是Log檔佔掉了空間,高達幾十GB都有可能,這時候只好先想辦法清空Log資料,SQL Server 2008的話可以嘗試以下的指令來做清除: SQL SERVER 2008 123456USE [資料庫名稱]GOALTER DATABASE [資料庫名稱] SET RECOVERY SIMPLE WITH NO_WAITDBCC SHRINKFILE(記錄檔邏輯名稱, 1)ALTER DATABASE [資料庫名稱] SET RECOVERY FULL WITH NO_WAITGO 邏輯名稱可在資料庫上按右鍵=>[屬性]=>[檔案]中查看,注意邏輯名稱不一定會和檔名相同,例如: 123456USE [TestDB]GOALTER D ...
Java 如何新增檔案和資料夾
例如我們要建立一個檔案路徑為 logs/test.log,使用 File 類別如下 12String filePath = "logs/test.log";File file = new File(filePath); 此時如果直接 createNewFile() 123456789if(!file.exists()){ try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }} 會因為 parent 的資料夾不存在而失敗,而這時直接使用 mkdirs() 12345678910if(!file.exists()){ file.mkdirs(); try { file.createNewFile(); } catch (I ...
Linux chmod 修改資料夾和子資料夾權限
有時候會需要針對一個目錄下的所有資料夾和子資料夾做 chmod,例如從 Windows 傳過來的檔案或 zip 解開的檔案,權限會變成 777,這時候可以使用搭配 find 指令來找出特定類型的資料處理: 將目前資料夾下的所有資料夾和子資料夾改為 755 1find . -type d -exec chmod 755 {} \; 或是要將目前資料夾下的所有檔案和子資料夾中的檔案改為 644 1find . -type f -exec chmod 644 {} \;
Java 讀取設定檔
在 Java 中可以使用 Properties 的類別來讀取設定檔,例如有一個設定檔 config.properties 其中包含以下設定 123host = jdbc:mysql://localhost/dbusername = userpassword = 123456 而在 Java 程式中可以用以下方式讀取 12345678910111213141516171819202122232425262728Properties properties = new Properties();String configFile = "config.properties";try { properties.load(new FileInputStream(configFile));} catch (FileNotFoundException ex) { ex.printStackTrace(); return;} catch (IOException ex) { ex.printStackTrac ...
心機 99 聯盟
以前研究所去澎湖旅行的時候,晚上打牌出現的遊戲,由於人數超過四個人,所以一開始玩了 99,然後變成心機 99,接著又亂加一些規則變成可以分隊的心機 99 聯盟。規則如下: 多人對戰:分隊後交錯坐,可同時使用多副撲克牌。 勝利條件:所有的敵對玩家出局。 出局條件:打出牌點數超過 99 或手中沒有牌 一般的特殊牌 4: 迴轉 5: 指定 10: ±10 J: Pass Q: ±20 K: 點數直接 99 增加的特殊牌 7: 和一位玩家交換所有手牌,此動作會讓牌數減少,如果是最後一張,則對方直接出局。 A: 抽一位玩家的一張牌, 黑桃 A: 點數歸零 進階的特殊牌 (不一定要加入) 大鬼牌: 指定一名隊友復活並抽兩張牌 小鬼牌: 指定一名隊友復活並抽一張牌 組合牌:能使用多張牌組合成特殊牌,例如:2 + 5 = 7
C# 以屬性的方式存取陣列元素
本文於 2012/02/09 更新:此需求應為陣列元素唯讀,又能使用索引的方式讀取,故更新此文章。 在網路上有人提出這個問題,想要以屬性 (Property) 的方式存取陣列元素,而我回應了一個解決方案,主要使用了泛型 (Generics) 和索引子 (Indexer) 的方式: 利用泛型先做一個通用的屬性陣列類別 1234567891011121314151617class PropertyArray<T>{ private T[] array; public PropertyArray(T[] array) { this.array = array; } public T this[int index] { get { return array[index]; } }} 在需要此功能的類別中加入上面的類別為屬性成員 12345678910111213 ...
PHP 執行外部程式
說明 PHP 如何執行外部程式,以及可能造成無法成功執行的原因,包含 SELinux、php.ini 設定、Sudoer、環境變數路徑和參數問題。在 PHP 中可以使用 shell_exec()、exec()、system() 等函式執行外部程式,但是要注意有些設定可能會限制而無法執行,這裡以 Linux 系統為主要討論,要注意的地方如下: SELinux這是加強系統安全的模組,但沒有特別去設定的話時常會無法讓程式正常運作,而且在 PHP 端沒有任何訊息,例如執行 shell_exec("ls"),沒有任何訊息。不過如果被 SELinux 封鎖的話,在 /var/log/messages 裡面會有類似以下的訊息: 1Aug 10 11:24:48 pc111168 setroubleshoot: SELinux is preventing the sudo from using potentially mislabeled files /bin/ls (ls_exec_t). For complete SELinux messages. run sealert -l ...
新竹旅遊景點 - 山上人家和張學良故居
拍攝時間:2011 年 7 月 31 日 行程今天和朋友們計畫了山上人家和張學良故居的一日遊,雖然說是計畫…不過計畫內容也只有如下: 山上人家(午餐) 張學良故居 潛園擂茶(晚餐) 相當的隨性,想當年環島的時候也是前一天晚上在想隔天的行程~ 山上人家首先第一站前往山上人家: 地址:新竹縣五峰鄉大隘村 23 鄰 468-5 號 電話:03-5851376 傳真:03-5851722 電子郵件:mvresort.tw@gmail.com 網址:https://www.mvresort.com.tw/ 早上上山的時候路雖不好走,不過還沒甚麼車子,比預計到的時間早了一些 山上人家的入口招牌 入口的兩旁種了一些像是薰衣草的植物,好像是鼠尾草還是甚麼的 入口的照片是後來中午補拍的,實際上我們是從停車場那邊的入口進去,停車場的廁所旁邊還有養一些小動物,除了雞兔同籠之外好像還有孔雀和袋 ...
新北桃園旅遊景點 - 白木屋品牌文化館和鶯歌陶瓷博物館
拍攝時間:2011 年 7 月 23 日 行程今天是公司旅遊,行程為: 白木屋品牌文化館 石門吃活魚 鶯歌陶瓷博物館 白木屋品牌文化館首先第一站我們來到了白木屋品牌文化館 官網:白木屋品牌文化館 電話:03-4965757 地址:桃園縣楊梅鎮高獅路813巷22弄6號 進入廠區後,就可以看到文化館了,這是入口 白木屋有很多這樣的公仔 一進門就看到各式各樣的蛋糕再販賣,愛吃甜食的人可能受不了 這裡陳列了很多大師的蛋糕作品,沒錯這是可以吃的蛋糕,這個叫夢之國度 拈花微笑 接著來到生產線參觀,可以看到一些甜點的製作過程,這是牛軋糖 還有銅鑼燒 也有一些不同年代的作品 蛋糕時鐘,忘記旋轉照片了 其他生產線 四層大蛋糕,這就不知道是真的還是假的了 接著是有趣的蛋糕 DIY 時間 我做的蛋糕~ 接著中午到了石門吃活魚,好像是叫金蘭的店吧,就一堆魚的午餐,這桌少了兩個人吧,吃不完剩一堆。午餐忘了拍照。 鶯歌陶瓷博物館下午來到了鶯歌陶瓷博物館 官網:鶯歌陶瓷博物館 地址:23942 新北市鶯歌區文化路 200 號 電話:02-86772727 傳真: 02-86774104 服務信箱: ...








