无法从bufferedreader转换为字符串

时间:2014-01-26 16:07:41

标签: java android eclipse load assets

我想从assets文件夹加载文件并在stopword procces中使用一个字符串,这个ini我的代码但我收到错误“无法从bufferedreader转换为字符串”

public void onClick(View v) {
    // TODO Auto-generated method stub
    if (v.getId()==R.id.button6){

        StringBuilder text = new StringBuilder();

        try {
            BufferedReader reader = new BufferedReader(
                new InputStreamReader(getAssets().open("Preposisi.txt"), "UTF-8")); 

            // do reading, usually loop until end of file reading 
            String mLine = reader.readLine();
            while (mLine != null) {
               //process line

               mLine = reader.readLine(); 
            }

            reader.close();
        } catch (IOException e) {
            //log the exception
        }

        Intent intent = new Intent(this, PreposisiRemoval.class);
        String test = ((TextView)findViewById(R.id.textView7)).getText().toString();
        String[] preposisi = {text}; "GET ERROR IN THIS LINE"
        StringBuilder resultFilter = new StringBuilder();

        Scanner fip1 = new Scanner(test);
            while (fip1.hasNext()){
                    int flag = 1;
                    String s1 = fip1.next();
                    for (int i = 0;i<preposisi.length; i++){
                        if (s1.equals(preposisi[i])){
                            flag=0;
                        }
                        }   
                        if(flag!=0){
                            System.out.println(s1);
                            resultFilter.append(s1+'\n');
                        }

                        Intent intent2 = getIntent();
                                String count = intent2.getStringExtra("result2");

                    intent.putExtra("resultFilter", resultFilter.toString());
                    intent.putExtra("count", count);
                    startActivity(intent);
                    }
        }
}

我在行字符串preposisi = {test}

中收到错误

3 个答案:

答案 0 :(得分:0)

StringBuilder text = new StringBuilder();

String test = ((TextView)findViewById(R.id.textView7)).getText().toString();
String[] preposisi = {text}; "GET ERROR IN THIS LINE";

“test”或“text”???

答案 1 :(得分:0)

textStringBuilder,与String数组不兼容。你的意思是

StringBuilder text = new StringBuilder();
String[] preposisi = {text.toString()}; 

或只是

String[] preposisi = { test }; 

答案 2 :(得分:0)

  1. 更改您的阅读循环:

    String mLine = reader.readLine();
    while (mLine != null) {
       mLine = reader.readLine(); 
       text.append(mLine);  //You missed this line
    }
    

    否则您的StringBuilder将始终为空。