从SDcard android的txt文件中提取段落

时间:2013-11-19 20:50:03

标签: java android file extract

我正在寻找帮助,因为我想从adnroid中的SD卡中的.txt文件中提取一个String段落。我有文件,但不能只提取它的一部分。例如,我有这个文件:

Mother (mamá)
Father (papá)
Daughter (hija)
Son (hijo)
Sister (hermana)
Brother (hermano)
Grandmother (abuela)
Grandfather (abuelo)
Aunt (tia)
Uncle (tio)
Nephew (sobrino)
Niece (sobrina)
Cousin (primo "o" prima)
Wife (esposa)
Husband (esposo)
NOTA: Al añadir las palabras inglesas "in law" se forman nuevas palabras que tambien deben ser incluidas en este vocabulario para referirnos a "La familia"
Mother in law (*suegra)
Father in law (*suegro)
Sister in law (*cuñaada)
Brother in law (*cuñado)
gual sucede con la palabra "step" antepuesta a algunas palabras inglesas, para referirnos a otro parentesco familiar, resultado de la relacion de nuestros padres con otras parejas (como en el caso de divorcios,muerte de alguno de ellos,etc)
Step mother (*madrastra)
Step father (*padrastro)
Step sister (*hermanastra)
Step brother (*hermanastro)

并且只是从“儿子”中提取出来直到“侄女”

我的代码是:

String state = Environment.getExternalStorageState();
    TextView tv = (TextView) findViewById(R.id.textView1);
    if (!estado.equals(Environment.MEDIA_MOUNTED)) {
        tv.setText("No SDcard");
        finish();
    }

    File dir = Environment.getExternalStorageDirectory();
    File puntero = new File(dir.getAbsolutePath() + File.separator
            + "manualandroid.txt");
    try {
        Scanner lector = new Scanner(new FileReader(puntero));
        StringBuilder texto = new StringBuilder();
        String linea;
        lv1 = (ListView) findViewById(R.id.listView1);
        while (lector.hasNext()) {
            linea = lector.nextLine();
            if (linea.contains("Son") && linea.contains("Niece") {
                texto.append(linea);
                texto.append("\n");
            }
        }
        lector.close();

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

它只是向我显示包含“儿子”和“侄女”的行,我是新来的。有人可以帮我请求吗?你需要阅读:

Son (hijo)
Sister (hermana)
Brother (hermano)
Grandmother (abuela)
Grandfather (abuelo)
Aunt (tia)
Uncle (tio)
Nephew (sobrino)
Niece (sobrina)

感谢。

1 个答案:

答案 0 :(得分:1)

   int withinRange = -1;
   while (lector.hasNext()) {
        linea = lector.nextLine();

        if (linea.contains("Son"))
           withinRange =0;
        if (withinRange == 0) {
            texto.append(linea);
            texto.append("\n");
        }
        if (linea.contains("Niece"))
           withinRange = 1;
   }