繼昨天的經驗貼,今天的工作又收獲不少。
在windows的編輯器中,為了區分編碼,通常會添加一個BOM标記。比如,記事本、nodepade++、sublimeText都會出現這個問題。如果使用filereader去讀,就會發現第一行出現了亂碼:
此時,可以使用編輯器比如nodepad++,點選encoding,設定為<code>encode with utf-8 without bom</code>,這樣就沒有問題了。
測試程式可以參考:
Socket可以保證TCP進行長時間的連接配接,并且可以進行IO的複用,避免每次發送資料都需要建立連接配接。那麼就會涉及到兩種逾時:
連接配接逾時,即Socket連接配接伺服器的時間,預設是0,即無逾時
讀寫逾時,由于Socket是IO阻塞的,是以會有一定的讀寫延時,預設也是0,即無逾時
我們可以手動的來定義這兩個逾時:
windows下和linux下的換行符是不一樣的。windows下是<code>\r\n</code>,而linux下是<code>\n</code>。是以在做讀檔案的時候,如果記錄一些偏移值,就會出現一定的錯誤。
是以可以在代碼中進行系統的判斷:
首先如果想要使用Logback,必不可少的3個包:
logback-classic-xxx.jar
logback-core-xxx.jar
slf4j-api-xxx.jar
然後就可以使用了
在Logback中有一個概念十分重要,就是appender。Appender定義了日志的處理方式,比如是在控制台列印,還是記錄到檔案,或者采用進階的輪轉模式等等。在src目錄下建立logback.xml配置Logback的使用。
如果你隻是輸出到控制台,那麼可以這樣配置
如果隻是定向的輸出到某個檔案,則可以這樣配置:
另一種常用的模式,就是按照日期輪轉。比如,今天的日志是Log.04-07.log,昨天的日志則是Log.04-06.log。那麼可以按照下面的配置方式執行:
最新的日志總是記錄到file指定的檔案中,如果沒有file屬性,則會按照fileNamePattern定義的模式建立。一般來說,都不會使用這個file屬性。
就暫且記錄這些吧~~