gpt4 book ai didi

java - Android:读取文本文件并抓取特定单词后面的行

转载 作者:行者123 更新时间:2023-12-01 14:59:38 24 4
gpt4 key购买 nike

我试图抓取遵循预设引用的一行数据

这是我到目前为止的代码,它只是抓取文本中的所有内容

public void onClick(View v) {
// TODO Auto-generated method stub

if (v.getId() == R.id.btnRead) {

try {
readfile();
} catch (IOException e) {
Toast.makeText(getApplicationContext(), "Problems: " + e.getMessage(), 1).show();
}
}

private void readfile() throws IOException {

String str="";
StringBuffer buf = new StringBuffer();
InputStream is = this.getResources().openRawResource(R.drawable.test);
BufferedReader reader = new BufferedReader(new InputStreamReader(is));


if (is!=null) {

while ((str = reader.readLine()) != null) {

buf.append(str + "\n" );


}
}
is.close();
Toast.makeText(getBaseContext(), buf.toString(), Toast.LENGTH_LONG).show();

我考虑过添加这样的东西

if (str == "name:"){

reader.readNextLine();

}
else {
(buf.append("Referance not found" + "\n"));
}

这样它会找到预设的单词并捕获紧随其后的行显然我做不到

readNextLine

所以尝试寻找另一种简单的方法

最佳答案

您的问题是您比较引用地址而不是值。

用于比较的运算符==仅对原始类型有效。字符串是一种对象类型。

要比较对象类型,您应该始终使用 equals 方法或 compareTo(如果对象支持)。

if("name".equals(str)) {
reader.readNextLine();
} else {
buf.append("Referance not found\n");
}

提示:

StringBuffer是线程安全的,你在那里不需要它。更好的选择是使用 StringBuilder

关于java - Android:读取文本文件并抓取特定单词后面的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13859691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com