2014-04-01 14 views
0

我們正在使用REST API調用,該調用返回一個非常大的字符串。我們正在執行在流上應用正則表達式以提取字符串

httpget.getResponseBodyAsString(); 

獲取REST調用返回的字符串。然後我們對這個字符串應用正則表達式來提取我們需要的子字符串。當REST調用返回的字符串非常龐大時,我們正面臨JVM的內存不足問題。

我們也可以從REST調用的數據使用

httpget.getResponseBodyAsString(); 

但是,它可能在流應用正則表達式,並提取我們需要在字符串流?

+0

字符串有多大?即使對於1mb的字符串數據,我也不期待'OutOfMemory'出現 – Reddy

+0

@Reddy:然而,它確實適合我們。 – SpikETidE

+0

看看[this](https://github.com/fge/largetext),它可以幫助你;需要先將輸入寫入文件(字節,當然不是字符),然後在文件中使用正則表達式。不過,如果你有OOM,這意味着你有很多併發請求。 – fge

回答