天天看點

遊戲服務端架構之csv配置格式背景CSV格式

背景

遊戲策劃大佬一般采用excel工具來管理遊戲裡的數值配置。excel内置的公式以及可視化操作,對數值大佬來說是非常友善的工具。但對于伺服器來說,Excel不是唯一的格式。典型的說,服務端很少直接将Excel檔案作為資料源,伺服器設計更喜歡選擇将Excel導入資料庫,或者将Excel檔案轉為CSV格式。

CSV格式相對于Excel格式來說,它屬于純文字格式,體積小,更友善程式解析。

本文介紹如何對CSV格式的配置表進行映射,轉換成程式支援的Bean。

CSV格式

CSV格式使用逗号作為分隔符,理論上來說,程式可以使用逗号對每一行的内容進行分割。但假設單元格本身包含逗号,csv就會将該字元串外部自動包裹一層雙引号,或者遇上json這種格式,解析的難度就非常大了。幸運的是,apache提供了csv的解析工具庫。

最新的maven倉庫位址

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-csv -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-csv</artifactId>
    <version>1.8</version>
</dependency>
           

使用該工具,可以非常友善解析csv格式檔案。如果檔案第一行表示标題,工具也可以直接把表頭内容讀取出來。但是遇到一些自定義的csv工具,則需要程式自行處理了。例如,對于這樣的csv檔案内容。(第一行是注釋,第