java把InputStream流写入到文件中

基于流(Stream)的解决

  1. 流是单向的有方向性的描述信息流的对象,InputStream是输入流的接口,对程序来说是入,是读,可以从文件读,缓存区读,网络节点读等等.
  2. 写入文件,对程序来说是出,是写,就是FileOutputStream,可以写入int也可以byte[]

所以解决方案就是从InputStream中读出内存到byte[]中然后,使用FileOutputStream写入文件中如:

InputStream is = new FileInputStream("a.txt");
FileOutputStream fos = new FileOutputStream("b.txt");
byte[] b = new byte[1024];
int length;

while((length= is.read(b)) > 0){
	fos.write(b,0,length);
}

is.close();
fos.close();
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可以使用 Java 的 SequenceInputStream 和 FileOutputStream 类来将一个 InputStream 对象写入到多个文件。 首先,你需要创建多个 FileOutputStream 对象来表示输出到的多个文件: ```java FileOutputStream out1 = new FileOutputStream("file1.txt"); FileOutputStream out2 = new FileOutputStream("file2.txt"); FileOutputStream out3 = new FileOutputStream("file3.txt"); ``` 接下来,你需要创建一个 InputStream 对象,将需要写入的内容写入到这个对象: ```java InputStream in = new FileInputStream("input.txt"); ``` 然后,你可以使用 SequenceInputStream 类将输入和输出连接起来: ```java SequenceInputStream seqIn = new SequenceInputStream(in, new SequenceInputStream(out1, new SequenceInputStream(out2, out3))); ``` 最后,你可以使用一个 while 循环将 SequenceInputStream 对象的数据写入到每个 FileOutputStream 对象: ```java int data; while ((data = seqIn.read()) != -1) { out1.write(data); out2.write(data); out3.write(data); } ``` 记得在使用完毕后关闭所有的对象,可以使用 try-with-resources 语句来自动关闭对象: ```java try (InputStream in = new FileInputStream("input.txt"); FileOutputStream out1 = new FileOutputStream("file1.txt"); FileOutputStream out2 = new FileOutputStream("file2.txt"); FileOutputStream out3 = new FileOutputStream("file3.txt"); SequenceInputStream seqIn = new SequenceInputStream(in, new SequenceInputStream(out1, new SequenceInputStream(out2, out3)))) { int data; while ((data = seqIn.read()) != -1) { out1.write(data); out2.write(data); out3.write(data); } } catch (IOException e) { // 处理异常 } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

讓丄帝愛伱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值