通过eclipse Android逐个读取外部存储目录中的txt文件



我在Android的ExternalStorageDirectory()中有一个.txt文件。这个文件逐行包含10句话。我想一句一句地读。然后在每次单击按钮时将其显示在EditText上。我只找到了所有的文件读取代码。我不想要这个。我该怎么做?这是我的小代码:

enter cod private String Load() {
    String result = null;;
    String FILE_NAME = "counter.txt";
    //if (isExternalStorageAvailable() && isExternalStorageReadOnly()) {
        String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + "Records";
        File file = new File(baseDir, FILE_NAME);
        String line = "";
        StringBuilder text = new StringBuilder();
        try {
            FileReader fReader = new FileReader(file);
            BufferedReader bReader = new BufferedReader(fReader);
            while( (line = bReader.readLine()) != null  ){
                text.append(line+"n");
            }
            result = String.valueOf(text);
        } catch (IOException e) {
            e.printStackTrace();
        }
    //}
    return result;
}

All Load()所做的就是读取文件并将其作为字符串返回。从这里开始,您有几个选择。

1) 。使用String.split('\n')将结果转换为字符串数组,并在单击按钮时获取下一个值。这里有一个快速的例子:

int counter = 0;
String file = Load();
String[] lines = file.split("n");
button.onClicked() {
    editText.setText(lines[counter++]);
}

2) 。将缓冲读取器声明为类成员,这样就可以在按钮的onClicked()方法内部调用readLine()。这样,当有人单击按钮时,它将只读取文件的一行,而不是在Load()中读取整个文件。

相关内容

  • 没有找到相关文章

最新更新