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 ...
随机推荐
- (2)esp8266多国语言翻译系统
http://bbs.mydigit.cn/simple/?t2649513.html 这个想法不错 原来只是想用esp8266搞一个百度的多国语言翻译系统出来的,只是为了尝试如何调用各种web ap ...
- PHP 3 函数
PHP 的真正力量来自它的函数:它拥有超过 1000 个内建的函数. PHP 用户定义函数 除了内建的 PHP 函数,我们可以创建我们自己的函数. 函数是可以在程序中重复使用的语句块. 页面加载时函数 ...
- springboot 创建非web项目及数据源简单使用
项目组马上要使用springboot来重构程序,首先要对几个比较小的非web项目重构,所以新手入门,简单做了个小例子 代码结构如下: dao层 package com.mysping.myboot00 ...
- [MicroPython]TurnipBit开发板旋转按钮控制直流电机转速
1.实验目的: 学习在PC机系统中扩展简单I/O 接口的方法 学习TurnipBit拼插编程 了解直流电机的工作原理 学习L298N的工作原理 学习TurnipBit扩展板L298N和按键模块的接线方 ...
- python:利用xlrd模块操作excel
在自动化测试过程中,对测试数据的管理和维护是一个不可忽视的点.一般来说,如果测试用例数据不是太多的话,使用excel管理测试数据是个相对来说不错的选择. 这篇博客,介绍下如何利用python的xlrd ...
- B. Alyona and a tree
二分+dfs序+前缀和+瞎几把yy #include "a.h" int n; aLL a; struct edge { int to, nx, w; } e[N << ...
- Pyhton2.x 和Python3.x
一. 异常处理和pint区别 try: ...except Exception,e: # 2.x,3.x 需要把逗号(,)变为as. print e.message # 2.x,3.需要吧print内 ...
- Spring MVC自定义403,404,500状态码返回页面
代码 HTTP状态码干货:http://tool.oschina.net/commons?type=5 import org.springframework.boot.web.servlet.erro ...
- 【Java并发.2】线程安全性
要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享(Shared)和可变的(Mutable)状态的访问. “共享”意味着变量可以由多个线程同时访问,而“可变”则意味着变量的值在其生 ...
- H5 颜色属性
07-颜色属性 我是段落 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...