我正在尝试在资产文件夹的文件中搜索字符串。getassets().open表示其未定义。
我在某个地方读到这样的作品。
这是我的代码:
import java.io.File;
import java.util.Scanner;
import android.content.Context;
import android.util.Log;
public class Search {
public static void LoadStuff(String Name) {
Scanner reader = null;
try {
reader = new Scanner(new File(getAssets().open("myFile.txt")));
} catch (Exception e) {
Log.d("damn", "FAIL");
}
if(reader != null)
Load(reader);
}
private static void Load(Scanner reader) {
while (reader.hasNext()) {
String result = reader.next();
if (result.equals("water")) {
while (result != "KEYEND") {
int index = reader.nextInt();
Log.d("Index", String.valueOf(index));
}
}
}
reader.close();
}
}
最佳答案
您正在调用getassets,但实际上没有要从中加载的上下文。您需要将应用程序上下文传递到此类中。
public static void LoadStuff(Context appContext, String fileName){
然后
appContext.getAssets().open(fileName);
Scanner
构造函数也接受InputStream
,因此您的行将变成: reader = new Scanner(getAssets().open("myFile.txt"));
关于android - getAssets()显示 eclipse 错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19782861/