📜  在 Android 中从文本文件中插入和获取文本(1)

📅  最后修改于: 2023-12-03 14:50:50.860000             🧑  作者: Mango

在Android中从文本文件中插入和获取文本

在Android应用程序中,我们可以从文本文件中读取数据,并在需要的时候将数据插入到文本文件中。这是很常见的一个需求,因为我们经常需要将数据保存在本地文件系统上。

插入文本

我们可以使用以下代码向文本文件中插入数据:

public void writeToFile(String fileName, String data) {
    try {
        FileOutputStream fos = openFileOutput(fileName, Context.MODE_PRIVATE);
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fos);
        outputStreamWriter.write(data);
        outputStreamWriter.close();
    }
    catch (IOException e) {
        Log.e("Exception", "File write failed: " + e.toString());
    } 
}
  • writeToFile 方法用于将数据插入到本地文件系统中的文件 fileName 中。如果文件不存在,它将新建一个。如果文件存在并且具有写权限,则会覆盖文件中的内容。
  • openFileOutput 方法用于打开文件输出流。它使用文件名以及应该打开文件的模式作为参数,例如 MODE_PRIVATE,它将文件设置为可写入模式,但不允许其他应用程序访问这个文件。如果应用程序需要将文件内容展示给其他应用程序,应该使用 MODE_WORLD_READABLEMODE_WORLD_WRITEABLE 模式。
  • OutputStreamWriter 用于将数据写入文件输出流。 write 方法用于写入数据,并 close 方法用于关闭文件输出流。
获取文本

我们可以使用以下代码从文本文件中读取数据:

public String readFromFile(String fileName) {
    String ret = "";
    try {
        FileInputStream fis = openFileInput(fileName);
        InputStreamReader inputStreamReader = new InputStreamReader(fis);
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
        String receiveString;
        StringBuilder stringBuilder = new StringBuilder();
        while ((receiveString = bufferedReader.readLine()) != null) {
            stringBuilder.append(receiveString);
        }
        fis.close();
        ret = stringBuilder.toString();
    }
    catch (IOException e) {
        Log.e("Exception", "File read failed: " + e.toString());
    }
    return ret;
}
  • readFromFile 方法用于从本地文件系统中读取 fileName 文件中的数据。
  • openFileInput 方法用于打开文件输入流,它使用文件名作为参数。
  • InputStreamReader 用于从文件输入流中读取数据。 BufferedReader 用于按行读取输入流的数据。
  • readLine 方法用于从输入流中读取一行。
实例

以下代码演示了如何将数据插入到文件中,并从文件中读取数据:

public void saveToTextFile(String fileName, String data) {
    writeToFile(fileName, data);
}

public String loadFromTextFile(String fileName) {
    String ret = readFromFile(fileName);
    return ret;
}

在上述代码中,我们使用了 writeToFilereadFromFile 方法,我们可以将数据存储在文件中,以便以后使用。

结论

本文介绍了如何在Android应用程序中从文本文件中插入和获取文本。我们可以使用 writeToFile 方法将数据插入到文件中,并使用 readFromFile 方法从文件中读取数据。同时,我们还通过一个实例演示了如何使用这些方法将数据存储到本地文件系统中并检索这些数据。