FileOutputStream 转 FileInputStream
时间: 2023-11-19 22:50:41 浏览: 39
要将 FileOutputStream 转换为 FileInputStream,需要先将 FileOutputStream 写入的数据保存到文件中,然后再使用 FileInputStream 读取该文件。
具体步骤如下:
1. 创建一个 FileOutputStream 对象,将数据写入该对象;
2. 关闭 FileOutputStream 对象;
3. 创建一个 FileInputStream 对象,读取刚才写入的文件;
4. 使用 FileInputStream 对象读取文件中的数据;
5. 关闭 FileInputStream 对象。
示例代码如下:
```
// 写入数据到 FileOutputStream
FileOutputStream fos = new FileOutputStream("test.txt");
fos.write("Hello, world!".getBytes());
fos.close();
// 读取数据到 FileInputStream
FileInputStream fis = new FileInputStream("test.txt");
byte[] buffer = new byte[1024];
int len = fis.read(buffer);
System.out.println(new String(buffer, 0, len));
fis.close();
```
相关问题
fileoutputstream转Fileinputstream
在Java中,可以使用FileOutputStream将数据写入文件,然后使用FileInputStream从文件中读取数据。下面是一个示例代码:
```java
import java.io.*;
public class FileIOExample {
public static void main(String[] args) {
String fileName = "example.txt";
String content = "Hello, world!";
// 使用FileOutputStream写入数据到文件
try (FileOutputStream fos = new FileOutputStream(fileName)) {
byte[] bytes = content.getBytes();
fos.write(bytes);
System.out.println("数据写入成功!");
} catch (IOException e) {
e.printStackTrace();
}
// 使用FileInputStream从文件中读取数据
try (FileInputStream fis = new FileInputStream(fileName)) {
byte[] bytes = new byte[fis.available()];
fis.read(bytes);
String readContent = new String(bytes);
System.out.println("从文件中读取的数据为:" + readContent);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这段代码首先使用FileOutputStream将字符串"Hello, world!"写入到名为"example.txt"的文件中。然后使用FileInputStream从该文件中读取数据,并将读取到的内容打印出来。
FileOutputStream转FileInputStream
你可以使用 `FileInputStream` 和 `FileOutputStream` 类来实现文件的复制。首先,你需要创建一个 `FileInputStream` 对象来读取源文件,然后创建一个 `FileOutputStream` 对象来写入目标文件。
下面是一个示例代码段,演示了如何将一个文件从输入流复制到输出流:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileCopyExample {
public static void main(String[] args) {
File sourceFile = new File("path/to/source/file.txt");
File targetFile = new File("path/to/target/file.txt");
try (FileInputStream fis = new FileInputStream(sourceFile);
FileOutputStream fos = new FileOutputStream(targetFile)) {
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = fis.read(buffer)) != -1) {
fos.write(buffer, 0, bytesRead);
}
System.out.println("文件复制成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个例子中,你需要将 `"path/to/source/file.txt"` 替换为源文件的实际路径,并将 `"path/to/target/file.txt"` 替换为目标文件的实际路径。
请注意,这个代码段使用了 try-with-resources 语句,以确保文件流在使用后正确地关闭。这是一种推荐的处理文件流的方式。
希望这可以帮助到你!如果你有任何其他问题,请随时提问。