java中的缓冲流!
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中的缓冲流!的更多相关文章
- java中的缓冲流BufferedWriter和BufferedReader
java中的缓冲流有BufferedWriter和BufferedReader 在java api 手册中这样说缓冲流: 从字符输入流中读取文本,缓冲各个字符,从而实现字符.数组和行的高效读取.可以指 ...
- Java中的缓冲流详解
缓冲流增强了读写文件的能力,比如Student.txt是一个学生的名单,每个姓名占一行.如果我们想要读取名字,那么每次必须读取一行,使用FileReader流很难完成这样的任务,因为我们不清楚一行有多 ...
- Java中I/O流之缓冲流
Java 中的缓冲流: 1. 缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法(带缓冲区的,显著减少对 IO 的读写次数,保护硬盘). 2. ...
- Java中的IO流总结
Java中的IO流总结 1. 流的继承关系,以及字节流和字符流. 2. 节点流FileOutputStream和FileInputStream和处理流BufferedInputStream和Buffe ...
- Java中的IO流大体介绍
由于Java中的IO流是在是知识点繁多,所以我大约花了1周的时间将其整理起来.但是整理起来后并不是将完事了,我还是要分字节流和字符流来讲述.然后字节流和字符流中还有是否带有缓冲流. 讲述完IO流后我将 ...
- Java中的IO流(五)
上一篇<Java中的IO流(四)>记录了一下Properties类,此类不属于IO流,它属于集合框架.接下来说一下IO流中的其它流 一,打印流PrintStream PrintStream ...
- JAVA 中的IO流
Java中的IO流是用来处理设备与设备之前的数据传输,在java中以流的形式传输.流分为两类:字节流和字符流. 字节流:InputStream,OutPutSteam.(计算机内的数据都是以字节存储的 ...
- Java中的IO流(二)
上一篇<Java中的IO流(一)>把学习IO流的字符流作了一下记录,本篇把字节流记录一下. 一,Java中的字节流 Java中的字节流的操作方式与字符流的操作方式大致相同,连方法名都是类似 ...
- Java中的IO流之输出流|乐字节
大家好,乐字节小乐又来了.上一篇给大家带来的是:Java中的IO流之输入流|乐字节,本文将继续讲述IO流之输出流. 一.输出流 1.抽象类:OutputStream 和 Writer Output ...
随机推荐
- git&github入门使用
一.在Linux上安装Git 首先,你可以试着输入git,看看系统有没有安装Git,没有就yum一个,反正也是自己玩玩 二.版本库创建 什么是版本库呢?版本库又名仓库,英文名repository,你可 ...
- 关于alter database datafile offline和alter database datafile offline drop 的区别
转: https://blog.csdn.net/killvoon/article/details/46913183 -----------------------2015-07-16-------- ...
- 获得数值型数组的所有元素之和(分别使用增强for循环和普通for循环)
package com.Summer_0419.cn; /** * @author Summer * 获得数值型数组的所有元素之和 */public class Test_Method13 { pub ...
- [USACO5.3]校园网Network of Schools
题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”).注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学校的列表中. 你要写 ...
- 利用世界杯,读懂 Python 装饰器
Python 装饰器是在面试过程高频被问到的问题,装饰器也是一个非常好用的特性, 熟练掌握装饰器会让你的编程思路更加宽广,程序也更加 pythonic. 今天就结合最近的世界杯带大家理解下装饰器. 德 ...
- Luogu4745/Gym101620G CERC2017 Gambling Guide 期望、DP、最短路
传送门--Luogu 传送门--Vjudge 设\(f_x\)为从\(x\)走到\(N\)的期望步数 如果没有可以不动的限制,就是隔壁HNOI2013 游走 如果有可以不动的限制,那么\(f_x = ...
- Spring Boot2.0 整合 Kafka
Kafka 概述 Apache Kafka 是一个分布式流处理平台,用于构建实时的数据管道和流式的应用.它可以让你发布和订阅流式的记录,可以储存流式的记录,并且有较好的容错性,可以在流式记录产生时就进 ...
- 基于 HTML5 的工业互联网 3D 可视化应用
工业企业中生产线处于高速运转,由工业设备所产生.采集和处理的数据量远大于企业中计算机和人工产生的数据,生产线的高速运转则对数据的实时性要求也更高.破解这些大数据就是企业在新一轮制造革命中赢得竞争力的钥 ...
- 【转载】KETTLE集群搭建
一.集群的原理与优缺点 1.1集群的原理 Kettle集群是由一个主carte服务器和多个从carte服务器组成的,类似于master-slave结构,不同的是’master’处理具体任务,只负责任务 ...
- Python-面向对象简介
面向对象介绍 学习面向对象过程中会遇到一些名词,我们先解释下 名词解释 类:一个类即是对一类拥有相同属性的对象的抽象.蓝图.原型.模板.在类中定义了这些对象的都具备的属性(variables(data ...