By: Reema sen in Java Tutorials on 2022年09月15日 [フレーム]
The SequenceInputStream class allows you to concatenate multiple InputStreams. The construction of a SequenceInputStream is different from any other InputStream. A SequenceInputStream constructor uses either a pair of InputStreams or an Enumeration of InputStreams as its argument:
SequenceInputStream(InputStream first, InputStream second)
SequenceInputStream(Enumeration streamEnum)
Here is a sample program
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public class SequenceInputStreamDemo {
public static void main(String[] args) throws IOException {
int c;
List<String> files = new ArrayList<>();
files.add("/autoexec.bat");
files.add("/config.sys");
InputStream input = sequenceInputStreamFromFiles(files);
while ((c = input.read()) != -1) {
System.out.print((char) c);
}
input.close();
}
private static InputStream sequenceInputStreamFromFiles(List<String> files) throws IOException {
List<InputStream> inputStreams = new ArrayList<>();
for (String file : files) {
inputStreams.add(new FileInputStream(file));
}
return new SequenceInputStream(inputStreams.stream());
}
}
The code demonstrates the use of SequenceInputStream to combine multiple input streams into a single, sequenced input stream.
The InputStreamEnumerator class is an implementation of Enumeration, which is used to iterate over a collection of objects. In this case, it is used to iterate over a Vector of file names and return an InputStream for each file.
The SequenceInputStreamDemo class creates a Vector of file names (/autoexec.bat and /config.sys), creates an InputStreamEnumerator object to iterate over the file names and return an InputStream for each file, and then passes the InputStreamEnumerator object to a SequenceInputStream object. The resulting InputStream combines the individual input streams into a single, sequenced input stream.
The code then reads from the InputStream one character at a time, printing each character to the console, until the end of the stream is reached. Finally, the InputStream is closed.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Most Viewed Articles (in Java )
Step by Step guide to setup freetts for Java
Open a .docx file and show content in a TextArea using Java
concurrent.Flow instead of Observable class in Java
DateFormat sample program in Java
Simple Port Scanner application using Java
Using the AWS SDK for Java in Eclipse
Read a file having a list of telnet commands and execute them one by one using Java
Calculator application in Java
Latest Articles (in Java)
Read a file having a list of telnet commands and execute them one by one using Java
Open a .docx file and show content in a TextArea using Java
Step by Step guide to setup freetts for Java
Of Object, equals (), == and hashCode ()
Using the AWS SDK for Java in Eclipse
DateFormat sample program in Java
concurrent.Flow instead of Observable class in Java
Calculator application in Java
Sending Email from Java application (using gmail)
Read a file having a list of telnet commands and execute them one by one using Java
Open a .docx file and show content in a TextArea using Java
Step by Step guide to setup freetts for Java
Of Object, equals (), == and hashCode ()
Using the AWS SDK for Java in Eclipse
DateFormat sample program in Java
concurrent.Flow instead of Observable class in Java
Calculator application in Java
Sending Email from Java application (using gmail)
© 2023 Java-samples.com
Tutorial Archive: Data Science React Native Android AJAX ASP.net C C++ C# Cocoa Cloud Computing EJB Errors Java Certification Interview iPhone Javascript JSF JSP Java Beans J2ME JDBC Linux Mac OS X MySQL Perl PHP Python Ruby SAP VB.net EJB Struts Trends WebServices XML Office 365 Hibernate
Latest Tutorials on: Data Science React Native Android AJAX ASP.net C Cocoa C++ C# EJB Errors Java Certification Interview iPhone Javascript JSF JSP Java Beans J2ME JDBC Linux Mac OS X MySQL Perl PHP Python Ruby SAP VB.net EJB Struts Cloud Computing WebServices XML Office 365 Hibernate