写一段android 把接口返回的文件流保存到本地最近文件夹并于保存完成打开文件所在路径的文件夹的方法
时间: 2024-02-22 15:55:01 浏览: 212
好的,以下是一个示例方法,可以将接口返回的文件流保存到本地最近文件夹并打开所在路径的文件夹:
```java
private void saveFile(InputStream inputStream, String fileName) {
try {
// 获取本地最近文件夹路径
String latestFolderPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getPath();
// 创建保存文件的路径
String filePath = latestFolderPath + File.separator + fileName;
File file = new File(filePath);
// 创建文件输出流
OutputStream outputStream = new FileOutputStream(file);
byte[] buffer = new byte[1024];
int length;
// 写入文件
while ((length = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, length);
}
outputStream.flush();
outputStream.close();
inputStream.close();
// 打开文件所在文件夹
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(latestFolderPath);
intent.setDataAndType(uri, "*/*");
startActivity(Intent.createChooser(intent, "Open folder"));
} catch (Exception e) {
e.printStackTrace();
}
}
```
在调用该方法时,需要传入一个 InputStream 对象和文件名。例如:
```java
InputStream inputStream = // 从接口获取的文件流
String fileName = "example.pdf";
saveFile(inputStream, fileName);
```
该方法会将文件保存到最近文件夹中,并打开文件所在的文件夹。请注意,您需要在 AndroidManifest.xml 文件中添加文件读写权限。
阅读全文