我使用一個標籤(/噸)作爲分隔符,我知道有我的數據,例如一些空字段:的Java StringTokenizer.nextToken()跳過空字段
one->two->->three
在哪裏 - >等於標籤。正如你所看到的,一個空的字段仍然被標籤正確包圍。 數據使用循環收集:
while ((strLine = br.readLine()) != null) {
StringTokenizer st = new StringTokenizer(strLine, "\t");
String test = st.nextToken();
...
}
然而,Java的忽略這個「空字符串」,並跳過領域。
有沒有辦法規避這種行爲並強制java讀空字段?
使用'string.split(「\ t」的)'代替。 – 2012-07-10 08:23:33
來自String文檔的String tokenizer「StringTokenizer是一個遺留類,爲了兼容性的原因,雖然在新代碼中不鼓勵使用它,但建議任何尋求這種功能的人都使用String的split方法或java.util.regex取而代之。「 – Inquisitive 2012-07-10 08:35:26
只看起來,它看起來像使用'string.split(「\ t」)'不會返回任何尾隨空的標記。如果這很重要,請使用'string.split(「\ t」,-1)'。 – Oded 2015-11-21 18:10:11