一.整体代码图 PipedStreamDemo.java import java.io.*; class PipedStreamDemo { public static void main(String[] args) throws Exception { PipedInputStream pin = new PipedInputStream(); PipedOutputStream pout = new PipedOutputStream(); pin.connect(pout); //输入流…
目录:系统学习 Java IO---- 目录,概览 PipedInputStream 类使得可以作为字节流读取管道的内容. 管道是同一 JVM 内的线程之间的通信通道. 使用两个已连接的管道流时,要为每个流操作创建一个线程, read() 和 write() 都是阻塞方法,如果一个线程同时读写就会造成死锁 看一个例子: public class Pipe { public static void main(String[] args) throws IOException { final Pip…
package cn.stat.p2.demo; import java.io.IOException; import java.io.PipedInputStream; import java.io.PipedOutputStream; public class pipedintpudemo { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException…
1.等待通知机制: 等待通知机制的原理和厨师与服务员的关系很相似: 1,厨师做完一道菜的时间不确定,所以厨师将菜品放到"菜品传递台"上的时间不确定 2,服务员什么时候可以取到菜,必须等到厨师做完之后放到菜品传递台上才行.所以,服务员会等待厨师. 3,厨师做完菜之后放到菜品传递台上,就相当于通知了服务员 wait和notify方法: 1,wait的作用是使当前执行代码的线程进行等待.wait()是Object类的方法,该方法用来将当前线程置入"预执行队列"中,并在wa…
一.字节数组流: 类 ByteArrayInputStream:在构造函数的时候,需要接受数据源,而且数据源是一个字节数组. 包含一个内部缓冲区,该缓冲区包含从流中读取的字节.内部计数器跟踪 read 方法要提供的下一个字节 关闭ByteArrayInputStream流无效.此类中的方法在关闭此流后仍可被调用,而不会产生任何 IOException   类 ByteArrayOutputStream:在构造函数的时候,不用定义数据目的,因为该对象中内部已经封装了可变长度的字节数组,这就是数据的…
今天在编写hadoop程序的时候,用到了流的处理.关闭流的时候出现了问题: 代码: FSDataInputStream fsin = fs.open(new Path(filein)); FSDataOutputStream fsout = fs.append(new Path(fileout)); BufferedReader br = new BufferedReader(new InputStreamReader(fsin)); BufferedWriter bw = new Buffer…
节点流:可以从或向一个特定的地方(节点)读写数据.如FileReader. 处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写.如BufferedReader.处理流的构造方法总是要带一个其他的流对象做参数.一个流对象经过其他流的多次包装,称为流的链接. JAVA常用的节点流: 文 件 FileInputStream FileOutputStrean FileReader FileWriter 文件进行处理的节点流. 字符串 StringReader StringWri…
IO流 Input/Output 完成输入/输出 应用程序运行时——数据在内存中  ←→ 把数据写入硬盘(磁带)  内存中的数据不可持久保存的  输入:从外部存储器(硬盘.磁带.U盘)把数据读入内存. 输出:从内存中把数据写入外部存储区(硬盘.磁带.U盘)中,这样就可以保证:即使程序退出了,数据依然不会丢失. File — 代表磁盘上的文件或目录. ●  listRoots() :列出磁盘上所有的根目录 ● exists:判断是否存在 ● mkdir:创建目录 ● listFiles():列出当…
JAVA IO操作总结:节点流和处理流 JAVA IO操作总结--节点流和处理流  按照流是否直接与特定的地方(如磁盘.内存.设备等)相连,分为节点流和处理流两类. 节点流:可以从或向一个特定的地方(节点)读写数据.如FileReader 处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写.如BufferedReader.处理流的构造方法总是要带一个其他的流对象做参数.一个流对象经过其他流的多次包装,称为流的链接. 常用的节点流 父 类 InputStream Outp…
IO流·Java流式输入/输出原理·Java流类的分类·输入/输出流类·常见的节点流和处理流·文件流·缓冲流·转换流·数据流·Print流·Object流 ①Java流式输入/输出原理            00101...-->    文件 ------------------ 程序 <-- ...00101    文件 ------------------ 程序               00101...-->    网络连接 ------------------ 程序 00101…