Selenium Web Driver自動化測試(java版)系列上半部分(23) - Properties檔案操作

weixin_34185560發表於2018-08-03

這篇我們討論Properties檔案的操作。和txt/excel/csv一樣,Properties也是檔案的一種型別,以.properties作為字尾名。之所以介紹這種特殊型別的檔案,是因為它在我們以後介紹selenium的時候會用到。

我們先建立一個properties檔案。右鍵新建一個記事本檔案,然後強行把字尾名從txt改成properties。雙擊開啟後輸入些文字,你不會覺得這個檔案有什麼不同,但它其實有個特點,可以通過一個等於號把前後兩個值繫結,就像下面這樣:

3310600-b87ced516bb0222f

按照“左=右”這種格式一行一行把內容寫下來,你會發現這種寫法和hashmap比較像,其實就是雜湊的原理。注意,一行只能有一個鍵值對,你不能在一行裡同時寫好幾對,到時候讀不出來。好,我們現在就演示下怎麼讀取properties檔案。java中有個類就叫properties,專門為讀這個型別的檔案準備的:

因為過程簡單,我就直接上程式了,然後一行一行講程式碼:

3310600-9c671c472a2b44c0

首先還是先例項化一個Properties物件,這步在第13行。然後第17行用物件呼叫load()方法來承載properties檔案的內容,執行完這步就相當於把properties檔案裡的鍵值對讀取出來。load就是載入的意思,該方法接收的引數就是properties檔案流的物件,所以要例項化檔案流物件,第15行和16行做的就是這步。

接著往下看。prop現在包含了properties檔案裡的所有資訊,呼叫getProperty()方法可以通過一個鍵引數得到對應的值,執行一下程式列印出最後結果:

3310600-5fb6f0d7409244e4

這就是properties檔案的讀取過程。還一個需要注意的是,設計檔案時等於號是一個很重要的識別符號,等號前後有沒有空格不重要,比如上面的name=peng zhang裡的值中間有個空格,呼叫getProperty()時還是會完整地讀取該值,不會因為空格而自動忽略後半部分。

這篇文章的原始碼是PropertiesFile專案。

相關文章