我正在尝试在资产文件夹的文件中搜索字符串。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/

10-09 06:15