`
strawberry2013
  • 浏览: 18044 次
文章分类
社区版块
存档分类
最新评论

黑马程序员_IO流_合并流SequenceInputStream及打印输出流PrintStream PrintWriter

 
阅读更多

-------android培训java培训、期待与您交流! ----------


PrintStream和PrintWriter的构造函数可以接收类型:

File对象
String字符串路径
OutputStream字节输出流

PrintWriter还可以接收Writer类型,构造函数接收的是输出流或者路径 文件,使用print(str)方法,可以将数据打印


自动刷新功能:
public PrintWriter(OutputStream out, boolean autoFlush)
out - 输出流, autoFlush - boolean 变量;如果为 true,则 println、printf format 方法将刷新输出缓冲区
但是即使为true,print()使用刷新无效

SequenceInputStream 合并流只有这一种字节流,不存在字符流形式

表示其他输入流的逻辑串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。

SequenceInputStream构造方法:
SequenceInputStream(Enumeration<? extends InputStream> e)
接收枚举,只能将InputStream流存储于Vector集合中,然后通过Vector的elements()方法获得枚举
SequenceInputStream(InputStream s1, InputStream s2)

/*
多个输入流合并 及 PrintWriter使用
Strawberry2013-5-4

*/
import java.io.*;
import java.util.*;

class PrintStreamDemo
{
	public static void main(String[] args) throws Exception
	{
		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 v.elements(), 返回的Enumeration FileInputStream枚举
		BufferedReader buf = new BufferedReader(new InputStreamReader(new SequenceInputStream(v.elements())));
										//new SequenceInputStream(Enumeration<? extends InputStream> e)
		PrintWriter p = new PrintWriter("4.txt");	//输出流的定义
		String str = null;

		while((str=buf.readLine()) != null)
		{
			p.println(str);				//打印在输出流上
			p.flush();					//刷新该流的缓冲,可以在SequenceInputStream中构造函数添加true,自动刷新,print则无效
		}
		p.close();
		buf.close();
	}
}


分享到:
评论

相关推荐

    JAVA IO流缓冲字节流缓冲字符流等流经典代码示例加注释总结.rar

    2、常用21个IO流:FileWriter、FileReader、CharArrayReader、CharArrayWriter、CharSequence、OutputStreamWriter、FileOutputStream、InputStreamReader、PrintWriter、BufferedReader、InputStream、...

    Java之IO流学习总结

    Java IO流学习总结 Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据...

    IO体系.java

    |--PrintStream/:为其他输出流添加了功能,方便打印各种数据值表示类型。PrintStream永远不会抛出IOException异常。 | 为了刷新可以创建一个新的PrintStream,调用println可以提供换行功能。使用了默认的字节编码...

    java IO章节的总结

    IO从大的方向上分为字节流和字符流,包括四个抽象类: 1、输入:Reader, InputStream类型的子类(字符,字节) 2、输出:Writer, OutputStream类型的子类(字符,字节) 决定使用哪个类以及它的构造进程的一般...

    深刻理解java io

    5) SequenceInputStream:把多个InputStream合并为一个InputStream 2) Out stream 1) ByteArrayOutputStream:把信息存入内存中的一个缓冲区中 2) FileOutputStream:把信息存入文件中 3) PipedOutputStream:实现...

    教你彻底明白Java的IO系统

    5) SequenceInputStream:把多个InputStream合并为一个InputStream 2. Out stream 1) ByteArrayOutputStream:把信息存入内存中的一个缓冲区中 2) FileOutputStream:把信息存入文件中 3) PipedOutputStream:实现...

    Java程序设计语言期末试题

    5) SequenceInputStream:把多个InputStream合并为一个InputStream 2) Out stream 1) ByteArrayOutputStream:把信息存入内存中的一个缓冲区中 2) FileOutputStream:把信息存入文件中 3) PipedOutputStream:实现...

    PCMAudioPlayerDemo:使用 AudioTrack 播放 PCM 音频文件

    PCMAudioPlayerDemothis project Using AudioTrack play PCM audio files##chinese这里要感谢...##说明该demo实现将多个pcm的音频文件合并到一个流中(合并主要用的是SequenceInputStream),通过用AudioTrack进行播放。

Global site tag (gtag.js) - Google Analytics