写一段android 把接口返回的文件流保存到本地并于保存完成打开文件所在路径的文件夹的代码
时间: 2024-02-22 09:54:41 浏览: 207
好的,以下是一个简单的实现示例:
```java
public void saveFile(InputStream inputStream, String fileName) {
try {
// 获取文件保存路径
File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
if (!dir.exists()) {
dir.mkdirs();
}
// 创建文件输出流
File file = new File(dir, fileName);
FileOutputStream outputStream = new FileOutputStream(file);
// 缓冲区
byte[] buffer = new byte[1024];
int len;
// 将输入流写入文件输出流中
while ((len = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, len);
}
// 关闭输入输出流
inputStream.close();
outputStream.close();
// 打开文件所在路径的文件夹
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("file://" + dir.getAbsolutePath());
intent.setDataAndType(uri, "*/*");
startActivity(intent);
} catch (IOException e) {
e.printStackTrace();
}
}
```
这段代码将通过输入流将接口返回的文件流保存到本地的 Downloads 文件夹中,并打开文件所在路径的文件夹。注意,需要在 AndroidManifest.xml 文件中添加以下权限:
```xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
阅读全文