Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encoding SequenceInputStream的奇怪行为_Encoding_Inputstream_Sequence - Fatal编程技术网

Encoding SequenceInputStream的奇怪行为

Encoding SequenceInputStream的奇怪行为,encoding,inputstream,sequence,Encoding,Inputstream,Sequence,我试图创建UTF-16编码文件的SequenceStream public class sequenceStream { public static void main(String[] args) { try { File f1 = new File("C:\\Temp\\sequence1.txt"); File f2= new File("C:\\Temp\\sequence2.txt"); File f3=

我试图创建UTF-16编码文件的SequenceStream

public class sequenceStream {


public static void main(String[] args) {        
    try {

        File f1 = new File("C:\\Temp\\sequence1.txt");
        File f2=  new File("C:\\Temp\\sequence2.txt");
        File f3=  new File("C:\\Temp\\sequence3.txt");
        InputStream is = getSequencedInputStream(f1,f2,f3);
        BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-16"));

        String line;
        int count=0;
        while((line = br.readLine()) !=null){
            count++;
            System.out.println(count + " : " + line);
        }
        br.close();

    } catch (FileNotFoundException e) {
    } catch (IOException e) {

    }


}


private static InputStream getSequencedInputStream(File ... files)  {
    Vector v = new Vector(files.length);
    for (int i=0; i<files.length;i++){
        if(files[i].exists()){
            try {
                v.add(new FileInputStream(files[i]));
            } catch (FileNotFoundException e) {     
            }
        }


    }
    return new SequenceInputStream(v.elements());
}
如果我只使用一个文件运行它,它可以正常工作:

InputStream is = getSequencedInputStream(f1);
输出:

1 : first file, first line
2 : first file, second line

问题标记来自哪里?我如何处理这个问题?

我怀疑问题在于文件的终止。例如,在最后一行之后有换行符吗

1 : first file, first line
2 : first file, second line