java InputStream转FileInputStream
时间: 2023-10-25 22:30:21 浏览: 207
要将Java的InputStream对象转换为FileInputStream对象,可以使用以下代码:
```java
InputStream inputStream = ...; // 输入的InputStream对象
// 将InputStream对象转换为FileInputStream对象
FileInputStream fileInputStream = new FileInputStream(File.createTempFile("temp", ".tmp"));
try (OutputStream outputStream = new FileOutputStream(file)) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
}
```
这段代码首先创建一个临时文件,并将输入的InputStream对象写入该文件。然后可以使用得到的FileInputStream对象进行后续操作。请注意,这段代码使用了Java 7的try-with-resources语法来自动关闭流。
相关问题
java InputStream 转 FileInputStream
Java中,InputStream是抽象类,不能被直接实例化。而FileInputStream是InputStream的子类,可以从文件系统中读取数据。要将InputStream转换成FileInputStream,可以使用FileInputStream的构造函数,将InputStream对象作为参数传递进去。例如:
InputStream is = new ByteArrayInputStream(/* Some byte array */);
FileInputStream fis = new FileInputStream(FileDescriptor.in); // Did this to give fis the type FileInputStream.
if (is instanceof FileInputStream) {
fis = (FileInputStream) is;
}
此时fis即为类型为FileInputStream的对象,可以直接使用。
InputStream inputStream转 FileInputStream
`InputStream`是一个通用的输入流接口,它通常用于读取二进制数据,例如从磁盘、网络或其他源头获取数据。当你有一个`InputStream`并想要将其转换为可以直接读取文件内容的`FileInputStream`,你需要明确地打开对应的文件,然后创建一个新的`FileInputStream`实例。
以下是转换的过程:
```java
InputStream inputStream = ...; // 假设你已经有了一个InputStream
try {
File file = new File("your_file_path"); // 替换为你的文件路径
FileInputStream fis = new FileInputStream(file);
// 将inputStream的内容拷贝到fis
byte[] buffer = new byte[4096];
int read;
while ((read = inputStream.read(buffer)) != -1) {
fis.write(buffer, 0, read);
}
// 确保inputStream关闭,以释放资源
inputStream.close();
} finally {
if (fis != null) {
fis.close();
}
}
// 使用fis进行文件操作,例如读取、写入等
```
这里我们首先创建了一个`File`对象表示要读取的文件,然后构造一个`FileInputStream`来操作这个文件。接着通过`read`方法从`InputStream`读取数据,并使用`write`方法将数据写入`FileInputStream`。
阅读全文
相关推荐














