2012-08-17 76 views
2

我的程序需要能夠掃描文本文件,並將文本文件的值存儲到數據庫中。 假設我在一行代碼,看起來像這樣將文本文件查詢到數據庫中

3,95003,"ALLENDALE",,41.030902,-74.130957,2893 

我希望能夠調用該字符串的一部分,並將其保存爲一個數據庫值讀取。我究竟該怎麼做?我已經知道如何閱讀文本文件,但我需要知道如何過濾並只抓取它們的一部分。

在數據庫中,我通常會通過做這樣的事情來添加一個值。

values.put("A", "B"); 

如何從只有部分文本文件讀入B值?

說我希望它顯示values.put(「A」,「ALLENDALE」)。

答:

AgencyString = readText(); 
     tv = (TextView) findViewById(R.id.letter); 

     tv.setText(readText()); 

     StringTokenizer st = new StringTokenizer(AgencyString, ","); 
     while (st.hasMoreElements()) { 
      tv.setText(st.nextToken()); 
     } 
    } 

    private String readText() { 
     InputStream inputStream = getResources().openRawResource(R.raw.agency); 

     ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 

     int i; 
     try { 
      i = inputStream.read(); 
      while (i != -1) { 
       byteArrayOutputStream.write(i); 
       i = inputStream.read(); 
      } 
      inputStream.close(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return byteArrayOutputStream.toString(); 

    } 

對我來說,下一步是將存儲這些值分隔到一個數組中,並把它讀成我的數據庫。我能夠通過使用StringTokenizer方法並設置'逗號'作爲我的分隔符來過濾我的agency.txt文件。

回答

2
+0

我敢肯定,這正是啥子我的需要,這也有助於我回答一個問題,我在過去,謝謝! StringTokenizer st2 = new StringTokenizer(str,「,」); – 2012-08-17 04:49:40

+0

StringTokenizer已棄用,請嘗試使用split方法或Scanner類。 – 2012-08-17 05:32:29

+0

雖然它仍然有效,請問掃描儀類會更有效率嗎? – 2012-08-17 06:29:37