![](/img/trans.png)
[英]Java: What's the most efficient way to read relatively large txt files and store its data?
[英]data comes in a string, inserting into postgresql with java, what's most efficient way to break up the data?
我正在用Java編寫程序,該程序將JDBC驅動程序與Postgresql一起使用。 我正在使用一個API,該API在被調用時會以如下形式返回數據:
id=-870229851 date = finished-20130501 15:13:07-20130502 15:13:07 open=-1.0 high=-1.0 low=-1.0 close=-1.0 volume=-1 count=-1 WAP=-1.0 hasGaps=false
這些名稱中的大多數都是我的Postgresql數據庫中的一列(如果需要,我可以將它們全部設為一列),但是我想知道將其插入Postgresql的最有效方法是什么?
在我編寫一個解析每個標題/值的函數之前,我希望Postgresql有某種有效地處理此類數據的方法。
有人可以說明一下嗎?
我的Postgresql版本是9.2,而Java是1.7
Postrgre沒有本機執行此操作的方式(無論如何我都知道),但是,您可以使用Java的字符串標記程序,如下所示:
StringTokenizer st = new StringTokenizer(sourceString, "= ");
while(st.hasMoreTokens()) {
String key = st.nextToken();
String valuse = st.nextToken();
// Do something with the keys and values (i.e. build and execute insert statements.
}
其中sourceString是您的數據字符串。 這將基於等號和名稱值對之間的空格來分隔字符串。 假設字符串中的名稱或值中沒有空格。 如果它們這樣做了,那么您將必須在對字符串進行標記之前對字符串進行一些正則表達式魔術,具體取決於等號左右兩側可能發生的情況。
然后,您可以生成要由數據庫引擎執行的插入語句字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.