2013-02-16 248 views
1

我想从我的R.raw文件夹使用inputstream打开文件。但是,我总是得到这个错误:从R.raw文件夹打开文件

'The method getResources() is undefined for the type Wordchecker' 

,当我试图用快速解决另一个错误appears.like这一个:

'The method openRawResource(int) is undefined for the type Object'... 

这里是我的代码:

public class Wordchecker { 
    public static void main(String arg[]){ 
     HashSet <String> newset = new HashSet <String>(); 
     try{ 
      //opening file of words 
      InputStream is = getResources().openRawResource(R.raw.wordlist); 
      DataInputStream in = new DataInputStream(is); 
      BufferedReader br = new BufferedReader(new InputStreamReader(in)); 
      String strLine; 

      //reading file of words 
      while ((strLine = br.readLine()) != null) { 
       newset.add(strLine); //adding word to the hash set newset 
      } 
      in.close(); 
     }catch (Exception e){ 
      e.printStackTrace(); 
     } 
    } 

    private static Object getResources() { 
     // TODO Auto-generated method stub 
     return null; 
    } 
} 

回答

0

你的问题这里是你不扩展Activity。你可以不叫getResources(),因为它不存在

没有你不能使用getResources()Activity类,直到你过时了一个上下文参数

+0

谢谢你..我刚刚错过了... @ Festus Tamakloe – kathy 2013-02-16 09:42:23

+0

@ user2078012不客气。如果你喜欢我的回答就接受它。谢谢 – 2013-02-16 09:50:38

0

你需要有Context某处引用,如getResources()是一种方法在上下文中。

就拿它的一个实例在构造函数:

public class Wordchecker { 
    Context mContext; 

    public Wordchecker(Context c) { 
     mContext = c; 
     init() 
    } 

    public void init() { 
     HashSet <String> newset = new HashSet <String>(); 
     try{ 
      //opening file of words 
      InputStream is = getResources().openRawResource(R.raw.wordlist); 
      DataInputStream in = new DataInputStream(is); 
      BufferedReader br = new BufferedReader(new InputStreamReader(in)); 
      String strLine; 
      //reading file of words 
      while ((strLine = br.readLine()) != null) { 
       newset.add(strLine); //adding word to the hash set newset 
      } 
      in.close(); 
     }catch (Exception e){ 
      e.printStackTrace(); 
     } 
    } 
} 

,然后从使用扩展上下文的活动或服务或任何创建这个类的一个对象:

Wordchecker wordchecker = new Wordchecker(this); 

确保wordchecker = new Wordchecker(this);onCreate()或之后

+0

谢谢你的帮助,但是当我打电话给newset时,出现了一个错误..我只是想检查我输入的单词是否包含在我的hashset(newset)中..谢谢.. @ Raghav Sood – kathy 2013-02-16 09:51:29