简单的Android翻译应用程序不工作

简单的Android翻译应用程序不工作,android,Android,我为作业制作了一个简单的Java CLI程序,现在我正试图将其制作成一个Android应用程序,以获得乐趣/体验。 但是,它不起作用。。。这是一个翻译应用程序,当我输入一个我知道在字典里的单词时,如果用户输入了一个无效的单词,它仍然会给我输入的信息。 我相信发生的事情是它从来没有正确地读取字典文件,因为Eclipse的LogCat在运行时给了我以下消息:“无法打开文件进行读取。” 公共类MainActivity扩展活动{ TreeMap tree=newtreemap(); 公共最终静态字符串E

我为作业制作了一个简单的Java CLI程序,现在我正试图将其制作成一个Android应用程序,以获得乐趣/体验。 但是,它不起作用。。。这是一个翻译应用程序,当我输入一个我知道在字典里的单词时,如果用户输入了一个无效的单词,它仍然会给我输入的信息。 我相信发生的事情是它从来没有正确地读取字典文件,因为Eclipse的LogCat在运行时给了我以下消息:“无法打开文件进行读取。”

公共类MainActivity扩展活动{
TreeMap tree=newtreemap();
公共最终静态字符串EXTRA_MESSAGE=“”;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
扫描仪输入=空;
试一试{
getAssets().open(“dict.txt”);
dictinput=新扫描仪(getAssets().open(“dict.txt”);
}
捕获(例外e){
System.err.println(“无法打开文件”);
系统退出(-1);
}//将字典放入字符串缓冲区
StringBuffer dict=新的StringBuffer();
字符串[]arrtemp=新字符串[1600];
while(dictinput.hasNext()){
dict.append(dictinput.nextLine());
dict.append(“|”);
}//然后将其放入字符串中,以便在|使用.split时拆分
字符串strstr=dict.toString();
arrtemp=strstr.split(“\\\\”);
//把字典放进树形图中

对于(int i=0;i您的文本文件位于何处?我想问题可能是它没有保存在项目文件夹的/res/raw下,之后您可以使用inputstream,如:

        InputStream is = this.getResources().openRawResource(
            R.raw.textfilename);
    try{
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        while(blah){
           do stuff
        }
    }
    catch(Exception e){
        handle errors
    }

你为什么要把一个文本文件放在
/res/drawable
中?好吧,把它放在原始文件或资产中。这只是一个简单的解决办法。我会编辑答案。嗯,好的,我还可以用扫描仪吗?它需要是一个扫描仪,我的程序的其余部分才能工作。谢谢你的答案!查看java.io.inputStreamReader,你可以指定作为扫描仪的扫描仪sc=新扫描仪(新的InputStreamReader(新的InputStream(\u在此处输入您的InputStream))
        InputStream is = this.getResources().openRawResource(
            R.raw.textfilename);
    try{
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        while(blah){
           do stuff
        }
    }
    catch(Exception e){
        handle errors
    }