「已注销」 2017-07-25 07:13 采纳率: 0%
浏览 1074

关于合并流SequenceInputSteam的问题

代码如下:
package io;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.SequenceInputStream;
//合并流的主要功能是将两文件的内容合并成一个文件
public class SequenceInputSteamTest {
public static void main(String[] args) {
File f1 = new File("E:"+File.separator+"a.txt");
File f2 = new File("E:"+File.separator+"b.txt");
File f3 = new File("E:"+File.separator+"ab.txt");
InputStream is1 = null;
InputStream is2 = null;
OutputStream os = null;
try {
is1 = new FileInputStream(f1);
is2 = new FileInputStream(f2);
os = new FileOutputStream(f3);
SequenceInputStream sis = new SequenceInputStream(is2,is1);
System.out.println(sis.available()+"字节");
int temp = 0;
while((temp=sis.read())!=-1){
os.write(temp);
}
sis.close();
is1.close();
is2.close();
os.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这样写SequenceInputStream sis = new SequenceInputStream(is2,is1);
可以将两个文件合并,读出正确的字节数,可是为什么括号中内容改成
(is1,is2)就只能读出is1中的字节数了呢?望大家帮忙看下,谢谢了~

  • 写回答

1条回答 默认 最新

  • 嚣张的巡山夫 2017-07-25 09:15
    关注

    我试了一下,没错,先写谁就先被读取进入文件,不存在你说的情况。估计是你文件的问题,又或者你弄错了。

    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序