我有這樣的文本行的文件:查找特定線路在Java中使用分裂()
[A]
這是一條線。
這是另一條線。
[B]
第三行。
...
等等。我想將這個文件讀入Java並查找僅包含[A]等的行以供進一步參考。我想:
Resources res = getResources();
InputStream in_s = res.openRawResource(R.raw.texts);
byte[] b = new byte[in_s.available()];
in_s.read(b);
String textstring = new String(b);
String[] textarr = textstring.split("[\\r\\n]+");
然後:
int lineB = 0;
for (int i=0; i<textarr.length; i++) {
if textarr[i].substring(0, 3) == "[B]") lineB = i;
}
之後,線仍然是零。首先,我認爲這與處理新行的方式有關(我使用的是Windows),但我也沒有使用子字符串(0,3)。我想這給我lineB = 3,任何想法我做錯了什麼?
不要使用''==比較字符串。使用'equals(...)'方法。 –
工程就像一個魅力!非常感謝你,我瘋了。 – phildeutsch
不客氣。這很重要的原因是因爲==檢查兩個*對象*是否相同,而不是你感興趣的。方法equals(...)和equalsIgnoreCase(...)另一方面檢查兩個字符串是否具有相同順序的相同字符,這就是重要的。 –