黑马程序员23-5:FileInputStream文件输入流,Enumeration将多个文件输出到同一个文件中,顺序流SequenceInputStream
package cn.itcast.io.p4.sequence.demo;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.SequenceInputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.Iterator;
public class SequenceInputStreamDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
/*
* 需求:将1.txt 2.txt 3.txt文件中的数据合并到一个文件中。
*/
// Vector<FileInputStream> v = new Vector<FileInputStream>();
// v.add(new FileInputStream("1.txt"));
// v.add(new FileInputStream("2.txt"));
// v.add(new FileInputStream("3.txt"));
// Enumeration<FileInputStream> en = v.elements();
ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();
for(int x=1; x<=3; x++){
al.add(new FileInputStream(x+".txt"));
}
//枚举文件输入流,Collections工具
Enumeration<FileInputStream> en = Collections.enumeration(al);
/*
final Iterator<FileInputStream> it = al.iterator();
Enumeration<FileInputStream> en = new Enumeration<FileInputStream>(){
@Override
public boolean hasMoreElements() {
return it.hasNext();
}
@Override
public FileInputStream nextElement() {
return it.next();
}
};*/
//顺序流
SequenceInputStream sis = new SequenceInputStream(en);
FileOutputStream fos = new FileOutputStream("1234.txt");
byte[] buf = new byte[1024];
int len = 0;
while((len=sis.read(buf))!=-1){
fos.write(buf,0,len);
}
fos.close();
sis.close();
}
}
分享到:
相关推荐
将多个读取流合并成一个读取流,可以方便操作多个读取流。原理(迭代器)。 OutputStream |--FileOutputStream/:文件输出流。用于将写入File和FileDescriptor的输出流。用来操作图像,声音,视频等原始字节流。 ...
4)SequenceInputStream:这个类可以将几个输入流串联在一起合并为一个输入流,构造函数有: SequenceInputStream(Enumeration e)枚举类型e中包含了若干个要被串联的输入流 SequenceInputStream(InputStream s1, ...
FileInputStream的用法1---马克-to-win java视频文件输入流
5) SequenceInputStream:把多个InputStream合并为一个InputStream 2) Out stream 1) ByteArrayOutputStream:把信息存入内存中的一个缓冲区中 2) FileOutputStream:把信息存入文件中 3) PipedOutputStream:实现...
* 获取一个文件的md5值(可处理大文件) * @return md5 value */ public static String getMD5(File file) { FileInputStream fileInputStream = null; try { MessageDigest MD5 = MessageDigest....
System.out.println("--输入流--:"+fis); System.out.println("----"); System.out.println("--------"); file_unique = new String(file_unique.getBytes(), "ISO-8859-1"); System.out.println("--下载文件...
基本文件存储 创建一个文件(写操作): openFileOutput() 写操作文件打开方式 FileOutputStream 安卓文件输出流 读取文件内容 openFileInput() 读操作文件打开方式 FileInputStream 安卓文件输入流 实验 有序广播...
Java Zip算法压缩多个文件的例子,具体的实现原理是:先打开文件并读取,然后利用ZipEntry实例化待压缩的条目列表,将ZIP条目列表写入输出流,从源文件得到文件输入流,写入缓冲数据等。相关代码: ...
FileInputStream的用法2---马克-to-win java视频文件输入流的介绍
2、常用21个IO流:FileWriter、FileReader、CharArrayReader、CharArrayWriter、CharSequence、OutputStreamWriter、FileOutputStream、InputStreamReader、PrintWriter、BufferedReader、InputStream、...
Java生成 数字证书源码,从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂,获取证书,请查看以下相关代码: //生成文件输入流,输入文件为c:/mycert.cer ...
编写一个java应用程序,将一个包含多个子目录和文件的目录复制到另外一个指定的目录下。 实验要求 1)欲复制的目录中包含的文件数和子目录层次未知,必须在程序执行时获得这些信息。 2)显示欲复制的目录的...
Java压缩中文名的文件,大家都知道Java处理英文名的文件很强大,但是处理起中文名那可是比较麻烦了,需要经过很多步骤,这个例子可以告诉你如何简易的处理中文文件名的文件,以压缩中文文件名的文件为例。...
文件流操作:使用Java的文件输入输出流(FileInputStream、FileOutputStream)读取和写入文件内容。 多线程处理:通过多线程实现并发处理多个文件传输请求,提高传输效率。 异常处理:处理网络异常、文件读写异常等...
SequenceInputStream 可以认为是一个工具类,将两个或者多个输入流当成一个输入流依次读取。完全可以从IO 包中去除,还完全不影响IO 包的结构,却让其更“纯洁”――纯洁的Decorator 模式。 PrintStream 也可以认为...
JSONLD-Java正在寻找维护者JSONLD-JAVA 这是和的Java实现。...new FileInputStream ( " input.json " );// Read the file into an Object (The type of this object will be a List, Map, String, Boolean
Java文件输入输出的方法,FileInputStream,FileOutputStream,InputStreamReader,重定向等。 也可以作为ACM入门的资料~觉得好的话打印一份不错哦~
Java仿Windows 窗口化复制文件功能, class SelectFileListener implements ActionListener { ... //将读取的字节数组写入目标文件输出流中 } fin.close(); //关闭输入流 fout.close(); //关闭输出流
* 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取 * 3:读取到输入流后,需要读取生成字节流 * 4:一行一行的输出。readline()。 * 备注:需要考虑的是异常情况 * @param filePath */...
一个适用于unicode文件的InputStream包装器。 提供此工具是因为某些Unicode文件具有BOM表头,但是java base io读取BOM作为内容,因此该工具可以跳过BOM。 简单用法: FileInputStream fis = new FileInputStream...