InputStream 转FileInputStream
时间: 2023-10-22 15:27:21 浏览: 146
InputStream 可以转换成 FileInputStream,方法是使用 FileInputStream(File file) 或 FileInputStream(String name) 构造函数。
例如:
```
InputStream inputStream = new FileInputStream("file.txt");
```
或者
```
File file = new File("file.txt");
InputStream inputStream = new FileInputStream(file);
```
相关问题
InputStream 转fileInputStream
你可以使用 `FileInputStream` 类的构造函数,将一个 `InputStream` 对象转换为 `FileInputStream` 对象。
示例代码如下:
```java
InputStream inputStream = ...; // 假设有一个 InputStream 对象
FileInputStream fileInputStream = new FileInputStream(FileDescriptor.in); // 先创建一个空的 FileInputStream 对象
fileInputStream.getChannel().transferFrom(Channels.newChannel(inputStream), 0, Long.MAX_VALUE); // 将 InputStream 中的数据写入到 fileInputStream 中
```
这段代码会将 `inputStream` 中的数据写入到 `fileInputStream` 对象中。需要注意的是,这种方式只能在 JDK1.7 及以上的版本中使用。如果你的程序需要兼容 JDK1.6 或更早的版本,可以使用 Apache Commons IO 库中的 `IOUtils` 类来实现:
```java
InputStream inputStream = ...; // 假设有一个 InputStream 对象
FileOutputStream fileOutputStream = new FileOutputStream("output.txt"); // 创建一个 FileOutputStream 对象
IOUtils.copy(inputStream, fileOutputStream); // 将 InputStream 中的数据写入到 fileOutputStream 中
```
这段代码会将 `inputStream` 中的数据写入到名为 `output.txt` 的文件中。需要注意的是,使用 `IOUtils` 类需要先引入 Apache Commons IO 库,详情请参考官方文档。
inputstream 转 fileinputstream
如果你想将一个 `InputStream` 对象转换成 `FileInputStream` 对象,可以使用以下代码:
```java
InputStream inputStream = ...; // 创建一个 InputStream 对象
File file = ...; // 创建一个 File 对象,用于保存数据
OutputStream outputStream = new FileOutputStream(file); // 创建一个 FileOutputStream 对象
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
outputStream.close();
inputStream.close();
FileInputStream fileInputStream = new FileInputStream(file); // 创建一个 FileInputStream 对象
```
上面的代码首先创建了一个 `FileOutputStream` 对象,用于将数据保存到文件中。然后,从 `InputStream` 对象中读取数据,并将其写入到 `FileOutputStream` 对象中。最后,关闭 `FileOutputStream` 和 `InputStream` 对象。然后,可以使用 `FileInputStream` 对象读取刚刚保存的文件。
阅读全文