2013-12-15 38 views
-1

我有一個大的字符串(我們稱之爲c),它看起來像這樣:的Android - 閱讀前兩行字符串


12345 
67890 
some 
random 
data 

有兩個變量 - int aint b。 我需要從c中讀取第一行,並將其值設爲a,並從c中讀取第二行,並將其值設爲b。我該怎麼做?

UPD我認爲這不是使用String []的好方法。 c是非常大的字符串,並且split()方法可以凍結我的應用程序。還有另一種方法可以做到這一點嗎?

P.S.請原諒我的英語。

+0

你總是想要第一個和第二個?然後,你可以運行一個簡單的循環,並得到他們.. –

+0

@AmulyaKhare,我怎麼能做到這一點? – enCrypter

+0

查看更新後的答案.. –

回答

4

比方說你的字符串是c具有由linebreak

使用下面的代碼分離上述值:

String lines[] = c.split("\\r?\\n"); 
int a = Integer.parse(lines[0]); 
int b = Integer.parse(lines[1]); 

更新

這裏有一個備用循環,您可以使用得到第一和第二行:

boolean found = false; 
int position = 0, oldPosition = 0; 
int a, b, count = 0; 

while(!found) { 
    if(c.charAt(position) == '\n') { 
     count++; 
     if(count == 1) { 
      a = Integer.parseInt(c.substring(oldPosition, position)); 
      oldPosition = position+1; 
     } 
     if(count == 2) { 
      b = Integer.parseInt(c.substring(oldPosition, position)); 
      found = true; 
     } 
    } 
    position++; 
}