2017-07-17 26 views
-1

在文本文件中值對沒有行分隔符我有格式如何閱讀鍵:在Java中

Reference:adfafddafafExpiryDate:1019CallbackStatus:200

+0

How do you say什麼是關鍵?駱駝香菸盒 ? – Mritunjay

+0

那你怎麼知道'adfafaddafafExpiryData'的區別? – matt

+2

這是不可能的,除非鍵或值遵循嚴格的形式,例如,鍵總是以大寫字母開頭,值始終是數字等。但從我在這裏看到的值來看,值也可以是字母。你從哪裏得到這個髒文件? – mumpitz

回答

1

如果鍵和值遵循特定的模式,那麼你可以使用apche的字符串utils的得到如下鍵值對:

String value = StringUtils.substringBetween("Reference:", "ExpiryDate:") 

現在的變量值將包含adfafddafaf把它放在一個地圖未來的使用。

keyValueMap.put("Reference",value); 

對於其餘的值做相同的操作。

0

的文件有沒有確定的關鍵值的結束方式值和下一個鍵之間沒有分隔符。

+2

除非他們的鑰匙是已知的集合 – Yazan

+0

@Yazan耶也是。 –

0

我假設文件有嚴格的規則: 冒號應在每個單詞之後出現,甚至值爲空白。 Ref:test:New :: Hobby:Coding 鍵不能爲空。

然後,我們可以通過備用冒號拆分文件文本。 我們將通過冒號進一步拆分每個字符串,並將第一個元素存儲爲鍵,第二個存儲爲Map中的值。

+0

您是否建議'adfafddafafExpiryDate'應該是單個條目,而不是'adfafddafaf'和'ExpiryDate'? – matt

+0

我以爲文件的每個值都有冒號。我建議我們應該在有價值之後加上分隔符。 – msanaullah