在Java中,可以使用InputStream
类的transferTo()
方法来合并两个输入流。以下是一个简单的示例:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class MergeInputStreams {
public static void main(String[] args) {
Path path1 = Paths.get("file1.txt");
Path path2 = Paths.get("file2.txt");
Path outputPath = Paths.get("merged.txt");
try (FileInputStream fis1 = new FileInputStream(path1.toFile());
FileInputStream fis2 = new FileInputStream(path2.toFile());
FileOutputStream fos = new FileOutputStream(outputPath.toFile())) {
fis1.transferTo(fos);
fis2.transferTo(fos);
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个示例中,我们首先创建了两个输入流fis1
和fis2
,分别对应file1.txt
和file2.txt
。然后,我们创建了一个输出流fos
,用于将两个输入流合并到一个新文件merged.txt
中。
我们使用transferTo()
方法将fis1
中的数据传输到fos
中,然后再将fis2
中的数据传输到fos
中。这样,我们就成功地将两个输入流合并到一个新文件中了。
需要注意的是,transferTo()
方法在传输数据时会自动处理异常,因此我们不需要在方法内部进行异常处理。
领取专属 10元无门槛券
手把手带您无忧上云