通过对文件的拷贝来对比传统IO流和NIO流 将底层流封装成处理流以后进行分段读取. /*将本身源代码拷贝到TXT文件*/ public class TraditionIO { public static void main(String[] args) { try(BufferedReader br = new BufferedReader(new FileReader("src/com/ming/test/TraditionIO.java")); //准备输入输出"处理&q…
JAVA IO流最详解   (转自CSDN) IO流上:概述.字符流.缓冲区(java基础)   一.IO流概述 概述: IO流简单来说就是Input和Output流,IO流主要是用来处理设备之间的数据传输,Java对于数据的操作都是通过流实现,而java用于操作流的对象都在IO包中. 分类: 按操作数据分为:字节流和字符流. 如:Reader和InpurStream 按流向分:输入流和输出流.如:InputStream和OutputStream IO流常用的基类: * InputStream …
掌握线程通讯流(管道流)的使用 管道流的主要作用是可以进行两个线程间的通讯,分为管道输入流(PipeOutputStream)和管道输出流(PipeInputStream). 如果要想进行管道输出,则必须把输出流连在输入流之上,在PipeOutputStream上有如下方法用于连接管道. void connect(PipedInputStream snk) 将此管道输出流连接到接收者. 要想连接输入和输出,必须使用此方法. PipeOutputStream输出方法: void write(byt…
首先要明确一个概念: 对文件或其他目标频繁的读写操作,效率低,性能差. 使用缓冲流的好处是:能够高效的读写信息,原理是先将数据先缓冲起来,然后一起写入或者读取出来. 对于字节: BufferedInputStream:为另一个输入流添加一些功能,在创建BufferedInputStream时,会创建一个内部缓冲区数组,用于缓冲数据. BufferedOutputStream:通过设置这种输出流,应用程序就可以将各个字节写入底层输出流中,而不必针对每次字节写入调用底层系统. 对于字符: Buffe…
对象流的两个类: ObjectOutputStream:将Java对象的基本数据类型和图形写入OutputStream ObjectInputStream:对以前使用ObjectOutputStream写入的基本数据和对象进行反序列化 序列化一组对象: 在系列化操作中,同时序列化多个对象时,反序列化也必须按顺序操作,如果想要序列化一组对象该如何操作呢? 序列化一组对象可采用,对象数组的形式,因为对象数组可以向Object进行转型操作. 把对象序列化到文件当中,然而文件中存的是字节.我们对象里面相…
一.字符串流 定义:字符串流(StringReader),以一个字符为数据源,来构造一个字符流. 作用:在Web开发中,我们经常要从服务器上获取数据,数据返回的格式通常一个字符串(XML.JSON),我们需要把这个字符串构造为一个字符流.然后再用第三方数据解析器来解析数据. 代码示例:计算一个字符串有多少个单词 package IODemo; import java.io.IOException; import java.io.StreamTokenizer; import java.io.St…
package IODemo; import java.io.*; /* 打印流 : 很方便的进行输出 字节打印流 增强输出功能 字符打印流 */ public class PrintStreamDemo { private static void charPrint(){ File file = new File("d:\\test\\t.txt"); try { Writer w = new FileWriter(file,true); BufferedWriter br = ne…
我们知道,当结束对一个流的操作时,需要调用流的close()方法对其进行释放,这将释放掉与这个流有关的所有资源,包括文件句柄.端口等.如果不关闭流,垃圾回收机制将无法识别你是否已使用完这个文件,读取的文件会占用内存无法释放,造成内存泄露. 在Java 6和之前版本,常用的做法是在finally模块中关闭流,如下: OutputStream out=null; try{ out = new FileOutputSteam("/data.txt"); //流的处理 }catch(IOExc…
案例1: 读取一个文件并写入到另一个文件中,char[] 来中转. 首先要在E盘下创建一个文本文档,命名为test.txt,输入一些字符串. public class Demo_5 { public static void main(String[] args) { FileReader fr=null; //文件取出字符流对象(输入流) FileWriter fw=null; //写入到文件(输出流) try { fr=new FileReader("e:\\test.txt");…
IO流 Input/Output 完成输入/输出 应用程序运行时——数据在内存中  ←→ 把数据写入硬盘(磁带)  内存中的数据不可持久保存的  输入:从外部存储器(硬盘.磁带.U盘)把数据读入内存. 输出:从内存中把数据写入外部存储区(硬盘.磁带.U盘)中,这样就可以保证:即使程序退出了,数据依然不会丢失. File — 代表磁盘上的文件或目录. ●  listRoots() :列出磁盘上所有的根目录 ● exists:判断是否存在 ● mkdir:创建目录 ● listFiles():列出当…