如何读取.java文件中的特定行并打印出来......?

时间:2015-09-08 16:43:45

标签: java android string

我正在创建一个项目,我需要从.java文件中的关键字开始读取特定行。

我必须阅读.java文件:

Intent myIntent = new Intent(StudentMap.this, StudentPref.class);
StudentMap.this.startActivity(myIntent);

我将如何在代码中的任何位置读取这两行。我应该为此设置正则表达式,但如何?

我正在使用:

public void onClick(View v) {

    TextView responseText = (TextView) findViewById(R.id.responseText);
    String myData = "";
String test = "Intent ";
   // String name="";
    switch (v.getId()) {
        case R.id.getExternalStorage:
            try {
                FileInputStream fis = new FileInputStream(myExternalFile);
                DataInputStream in = new DataInputStream(fis);
                BufferedReader br = new BufferedReader(new InputStreamReader(in));
                String strLine;

                while ((strLine = br.readLine()) != null){
                    myData = myData + strLine;



                    if (strLine.equals(test)) {

                        tv1.setText(tv1.getText() + strLine + "\n");
                    }
                    else{
                        tv1.setText(tv1.getText() + "nakaam" + "\n");

                    }

                }
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

            responseText.setText("MySampleFile.java data retrieved from external Storage...");

            break;

    }

    tv1.setText(tv1.getText() + myData + "\n"+"\n"+"\n"+"end");

    //tv1.setText(tv1.getText() + strLine + "\n");


}

据我所知,Intent关键字在每个文件中都是静态的,所以我可以得到像“Intent”这样的行的开头,但是如何从大文件中读取这一行和下一行..?

1 个答案:

答案 0 :(得分:0)

如果你想在Keyword Intent上启动你的String,并在那之后读取一行数,你可以这样做:

try {
    BufferedReader br = new BufferedReader(new FileReader(file));
    int remainingLines = 0;
    String stringYouAreLookingFor = "";
    for(String line; (line = br.readLine()) != null; ) {
        if (line.startsWith("Intent")) {
            remainingLines = <Number of Lines you want to read after keyword>;
            stringYouAreLookingFor += line
        } else if (remainingLines > 0) {
            remainingLines--;
            stringYouAreLookingFor += line
        }    
    }
}

我想这应该会让你知道如何搜索你正在寻找的字符串。