Android 系统 API 写文件367


Android 操作系统提供了一系列 API,允许应用程序读写文件。这些 API 位于 包中,并提供对文件系统的抽象访问。

获取文件对象

要获取文件对象的引用,可以使用以下方法之一:
File(String path):创建表示给定文件路径的文件对象。
(String name):获取应用程序专用文件目录中给定名称的文件。
(String type):获取外部存储器上的应用程序专用文件目录,其中 type 可以是 Environment.DIRECTORY_MUSIC、Environment.DIRECTORY_PICTURES 等。

写入文件

要写入文件,可以使用以下方法:
FileOutputStream(File file):创建一个文件输出流,用于向给定文件写入数据。
OutputStreamWriter(OutputStream out):创建一个输出流写入器,使用给定的编码将字符写入输出流。
BufferedWriter(Writer out):创建一个缓冲写入器,用于写出字符数据的更有效方式。

以下代码段演示了如何写入文件:```java
File file = new File((), "");
FileOutputStream fos = new FileOutputStream(file);
OutputStreamWriter osw = new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(osw);
("Hello world!");
();
```

读取文件

要读取文件,可以使用以下方法:
FileInputStream(File file):创建一个文件输入流,用于从给定文件读取数据。
InputStreamReader(InputStream in):创建一个输入流读取器,使用给定的编码从输入流读取字符。
BufferedReader(Reader in):创建一个缓冲读取器,用于读取字符数据的更有效方式。

以下代码段演示了如何读取文件:```java
File file = new File((), "");
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = ()) != null) {
(line);
}
();
```

权限

为了读写文件,应用程序必须具有相应的权限。对于应用程序专用文件,应用程序可以自动获得这些权限。但是,对于外部存储器上的文件,应用程序需要请求 READ_EXTERNAL_STORAGE 和/或 WRITE_EXTERNAL_STORAGE 权限。

以下代码段演示了如何请求权限:```java
(this, new String[]{.READ_EXTERNAL_STORAGE}, REQUEST_CODE_READ_EXTERNAL_STORAGE);
(this, new String[]{.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE_WRITE_EXTERNAL_STORAGE);
```

注意事项

以下是一些使用文件 I/O API 时需要注意的事项:
确保在不再需要时关闭所有文件流,以释放系统资源。
处理文件不存在或没有访问权限的异常。
使用适当的编码,以确保数据在写入和读取时不会损坏。
考虑使用 try-with-resources 语句,以自动关闭文件流。

2025-02-11


上一篇:macOS 系统最新版本的全方位指南

下一篇:华为鸿蒙系统:颠覆传统的分布式操作系统