package cn.zhozuohou;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException; /*
* 一、缓冲流?
* 【缓冲流的目的就是提高读写效率。】
*
* 二、字节输入输出缓冲流! 1.字节输入缓冲流!
BufferedInputStream 读! read() 复制!文件到程序! BufferedInputStream a1=new BufferedInputStream(new FileInputStream(文件));
2.字节输出缓冲流!
BufferedOutputStream 写! write() 拷贝!程序到文件! FileOutputStream a1=new FileOutputStream("文件); 3.字节缓冲流拷贝文件,效率非常高!
1.先读后写
BufferedInputStream a1=new BufferedInputStream (new FileInputStream("D:\\XMind\\1.dat"));
BufferedOutputStream a2=new BufferedOutputStream(new FileOutputStream("d:\\game\\1.dat")); 三、字符输入输出缓冲流! 1.字符输入缓冲流。读!read
BufferedReader; BufferedReader a1=new BufferedReader(new FileReader(文件名)); 字符类型 String char 2.字符输出缓冲流! 写! write
BufferedWrite; FileWriter a1=new FileWriter(文件名); 3.字符缓冲流拷贝文件!
BufferedReader a1=new BufferedReader(new FileReader("d:\\game\\abc.txt"));
BufferedWriter a2=new BufferedWriter(new FileWriter("d:\\day13\\abc.txt")); *
*
*/
public class 缓冲流 {
public static void main(String[] args) throws IOException {
bufferedInputStream(); //1.字节输入缓冲流 读! 慢 快!
bufferedOutputStream(); //2.字节输出缓冲流
// copy01(); //3.字节缓冲流拷贝文件! 速度快!
// copy02(); //4.普通字节流拷贝文件!
bufferedReader(); //5.字符输入缓冲流!
bufferedWriter(); //6.字符输出缓冲流!
copy03(); //7.字符缓冲流流复制文件! }
//7.字符缓冲流流复制文件!
private static void copy03() throws IOException{
BufferedReader a1=new BufferedReader(new FileReader("d:\\game\\aa.txt"));
BufferedWriter a2=new BufferedWriter(new FileWriter("C:\\aa.txt"));
int len=0;
char[]b=new char[1024*10000];
while ((len=a1.read(b))!=-1) {
a2.write(b,0,len);
}
a1.close();
a2.close(); }
//6.字符输出缓冲流!
private static void bufferedWriter() throws IOException{
BufferedWriter a1=new BufferedWriter(new FileWriter("d:\\game\\aaa.txt"));
a1.write("你好");
a1.flush();
String b="zhou xu feng";
a1.write(b,0,8);
a1.flush();
a1.close(); }
//5.字符输入缓冲流!
private static void bufferedReader() throws IOException {
int num=0;
BufferedReader a1=new BufferedReader(new FileReader("d:\\game\\aa.txt"));
String line; //缓冲流特有方法 读取文本单行!
byte []b=new byte[1024*10]; //快速读取!
while ((line=a1.readLine())!=null) { //集合非空!
num++;
System.out.println("第"+num+"行的内容 "+line);
}
a1.close();
}
//4.普通字节流拷贝文件!
private static void copy02() throws IOException{
long t1=System.currentTimeMillis();
FileInputStream a1=new FileInputStream("E:\\代码\\27\\视屏\\1.mp4");
FileOutputStream a2=new FileOutputStream("d:\\1.mp4");
int len=0;
byte []b=new byte[1024*10000];
while ((len=a1.read(b))!=-1) {
a2.write(b,0,len);
}
a1.close();
a2.close();
long t2=System.currentTimeMillis();
System.out.println("利用字节流复制文件的时间!"+(t2-t1)+"毫秒");
}
//3.字节缓冲流拷贝文件! 速度快!
private static void copy01() throws IOException{
long t1=System.currentTimeMillis();
BufferedInputStream a1=new BufferedInputStream(new FileInputStream("E:\\代码位置\\27\\视屏\\1.mp4"));
BufferedOutputStream a2=new BufferedOutputStream(new FileOutputStream("d:\\1.mp4"));
int len=0;
byte []b=new byte[1024*10000];
while ((len=a1.read(b))!=-1) {
a2.write(b,0,len);
}
a1.close();
a2.close();
long t2=System.currentTimeMillis();
System.out.println("利用字节缓冲流复制文件的时间!"+(t2-t1)+"毫秒"); }
//2.字节输出缓冲流
private static void bufferedOutputStream() throws IOException {
BufferedOutputStream a1=new BufferedOutputStream(new FileOutputStream("d:\\game\\aa.txt"));
a1.write(100);
//添加字符串!
byte b[]="zhou xu feng".getBytes();
a1.write(b,0,12);
a1.close();
}
//1. 字节输入缓冲流 读! 慢 快!
private static void bufferedInputStream() throws IOException{
BufferedInputStream a1=new BufferedInputStream(new FileInputStream("d:\\game\\aa.txt"));
/*1.快速读取方式
int len=0;
byte[] b=new byte[1024*10];
while ((len=a1.read(b))!=-1) {
System.out.println(new String(b,0,len));
}*/
//普通方式!
int len=0;
while ((len=a1.read())!=-1) {
System.out.print((char)len+" "); //直接输出len 是一堆数字 通过(char)将他们转换成字符
} a1.close();
System.out.println("===================");
}
}

java中的缓冲流!的更多相关文章

  1. java中的缓冲流BufferedWriter和BufferedReader

    java中的缓冲流有BufferedWriter和BufferedReader 在java api 手册中这样说缓冲流: 从字符输入流中读取文本,缓冲各个字符,从而实现字符.数组和行的高效读取.可以指 ...

  2. Java中的缓冲流详解

    缓冲流增强了读写文件的能力,比如Student.txt是一个学生的名单,每个姓名占一行.如果我们想要读取名字,那么每次必须读取一行,使用FileReader流很难完成这样的任务,因为我们不清楚一行有多 ...

  3. Java中I/O流之缓冲流

    Java 中的缓冲流: 1. 缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法(带缓冲区的,显著减少对 IO 的读写次数,保护硬盘). 2. ...

  4. Java中的IO流总结

    Java中的IO流总结 1. 流的继承关系,以及字节流和字符流. 2. 节点流FileOutputStream和FileInputStream和处理流BufferedInputStream和Buffe ...

  5. Java中的IO流大体介绍

    由于Java中的IO流是在是知识点繁多,所以我大约花了1周的时间将其整理起来.但是整理起来后并不是将完事了,我还是要分字节流和字符流来讲述.然后字节流和字符流中还有是否带有缓冲流. 讲述完IO流后我将 ...

  6. Java中的IO流(五)

    上一篇<Java中的IO流(四)>记录了一下Properties类,此类不属于IO流,它属于集合框架.接下来说一下IO流中的其它流 一,打印流PrintStream PrintStream ...

  7. JAVA 中的IO流

    Java中的IO流是用来处理设备与设备之前的数据传输,在java中以流的形式传输.流分为两类:字节流和字符流. 字节流:InputStream,OutPutSteam.(计算机内的数据都是以字节存储的 ...

  8. Java中的IO流(二)

    上一篇<Java中的IO流(一)>把学习IO流的字符流作了一下记录,本篇把字节流记录一下. 一,Java中的字节流 Java中的字节流的操作方式与字符流的操作方式大致相同,连方法名都是类似 ...

  9. Java中的IO流之输出流|乐字节

    大家好,乐字节小乐又来了.上一篇给大家带来的是:Java中的IO流之输入流|乐字节,本文将继续讲述IO流之输出流.   一.输出流 1.抽象类:OutputStream 和 Writer Output ...

随机推荐

  1. pytorch torchvision.ImageFolder的使用

    参考:https://pytorch-cn.readthedocs.io/zh/latest/torchvision/torchvision-datasets/ torchvision.dataset ...

  2. node.js如何引用其它js文件

    以Java来说,比如要实现第三方存储,我可能需要导入对应的库,以maven为例,使用腾讯云或者七牛云.阿里云,我需要导入对应的maven依赖.再比如,有些时候我们封装某个类,而那个类不在该包下,我们需 ...

  3. [MicroPython]TPYBoard智能小车“飞奔的TPYBoard装甲一号”

    智能小车作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途.智能小车能够实时显示时间.速度.里程,具有自动寻迹.寻光.避障 ...

  4. 实战Asp.Net Core:DI生命周期

    title: 实战Asp.Net Core:DI生命周期 date: 2018-11-30 21:54:52 --- 1.前言 Asp.Net Core 默认支持 DI(依赖注入) 软件设计模式,那使 ...

  5. Quartz.NET 任务调度教程。

    https://www.cnblogs.com/yaopengfei/p/9216229.html

  6. java中scanner的正确用法

    Scanner s = new Scanner(System.in); int choice = 0; if(s.hasNextInt()) { choice = s.nextInt(); } s.c ...

  7. C#使用OneNote的图片文字识别功能(OCR)

    http://www.cnblogs.com/Charltsing/p/OneNoteOCR.html 有需要技术咨询的,联系QQ564955427 前段时间有人问我能不能通过OneNote扫描图片, ...

  8. message:GDI+ 中发生一般性错误。

    图片类型的文件保存的时候出了问题,可能是路径出错,也可能是保存到的文件夹不存在导致(发布项目的时候如果文件夹是空的,文件夹将不存在)

  9. 一些Cassandra+YCSB异常

    这两天一直在用YCSB.昨天还可以用的YCSB,今天在测试Cassandra时遇到问题了. 环境是在公用局域网的一台debian机器,YCSB和Cassandra都在这台机器上.异常是开始运行YCSB ...

  10. centos安装bundle文件

    centos安装VMware-Workstation-Full-*.bundle那点事 | 鳗鱼是条狗https://kinggoo.com/centos-vmware.htm Linux 下 VMW ...