我的代码读取
package com.fyp.jwi;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import edu.mit.jwi.Dictionary;
import edu.mit.jwi.IDictionary;
import edu.mit.jwi.item.IIndexWord;
import edu.mit.jwi.item.IWord;
import edu.mit.jwi.item.IWordID;
import edu.mit.jwi.item.POS;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
----> String wnhome = "file:///android_asset/"; <----
String path = wnhome + File.separator + " dict ";
URL url = null;
try{ url = new URL("file", null, path); }
catch(MalformedURLException e){ try {
e.printStackTrace();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} }
if(url == null) return;
// construct the dictionary object and open it
IDictionary dict = new Dictionary ( url);
try {
dict.open ();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// look up first sense of the word "dog "
IIndexWord idxWord = dict . getIndexWord ("dog", POS. NOUN );
IWordID wordID = idxWord . getWordIDs ().get (0) ;
IWord word = dict . getWord ( wordID );
System .out . println ("Id = " + wordID );
System .out . println (" Lemma = " + word . getLemma ());
System .out . println (" Gloss = " + word . getSynset (). getGloss ());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
我使用“-->”突出显示的代码最初是
String wnhome = System.getenv("WNHOME");
其中 WNHOME 是一个环境变量,它指的是帮助 Java wordnet api 的某些文件在您的计算机上所在的目录。当我编译代码时,这工作正常。我需要在我的电脑上安装一个独立的 Java 程序。
我附上了一张图片以使事情更清楚
现在我知道如何在 Windows 上设置和使用环境变量了。如何在安卓上做到这一点?我是否以正确的方式捆绑这些文件?还有另一种方法吗?
或者是否有不涉及设置环境变量的解决方法?任何熟悉这个或 JWI 的人帮助我吗?