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 ...
随机推荐
- flask上传excel文件,无须存储,直接读取内容
运行环境python3.6 import xlrd from flask import Flask, request app = Flask(__name__) @app.route("/& ...
- [MicroPython]STM32F407开发板DIY声光控开关
1.实验目的 1. 学习在PC机系统中扩展简单I/O 接口的方法. 2. 进一步学习编制数据输出程序的设计方法. 3. 学习光敏模块的工作原理. 4. 学习声音的工作原理. 5. 学习F40 7Mic ...
- linux驱动之中断处理过程C程序部分
当发生中断之后,linux系统在汇编阶段经过一系列跳转,最终跳转到asm_do_IRQ()函数,开始C程序阶段的处理.在汇编阶段,程序已经计算出发生中断的中断号irq,这个关键参数最终传递给asm_d ...
- Java多线程编程核心技术(三)多线程通信
线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体.线程间的通信就是成为整体的必用方案之一,可以说,使线程间进行通信后,系统之间的交互性会更强大,在大大提高CPU利用率的同时 ...
- SpringBoot集成Shiro安全框架
跟着我的步骤:先运行起来再说 Spring集成Shiro的GitHub:https://github.com/yueshutong/shiro-imooc 一:导包 <!-- Shiro安全框架 ...
- React-菜鸟学习笔记(一)
新公司的项目前端架构用的是react.js 之前孤陋寡闻并没听说过,想着后期开发和维护多少要会点前端的东西,就简单研究一下.个人的学习习惯能写代码的就不写文字,必要的地方加两行注释,代码一行行敲下去, ...
- Groovy语言学习--语法基础(5)
至此groovy语言学习-语法基础就结束了,新的工作已经安排下来,要干活了. 对groovy了解到一定程度之后就可以在java项目中对其进行引入了.为此新建了一个微型的项目,个人觉得千言万语不如代码实 ...
- 【C#复习总结】细说泛型委托
1 前言 本系列会将[委托] [匿名方法][Lambda表达式] [泛型委托] [表达式树] [事件]等基础知识总结一下.(本人小白一枚,有错误的地方希望大佬指正) 系类1:细说委托 系类2:细说匿名 ...
- redis-trib.rb命令详解
redis-trib.rb是官方提供的Redis Cluster的管理工具,无需额外下载,默认位于源码包的src目录下,但因该工具是用ruby开发的,所以需要准备相关的依赖环境. 准备redis-tr ...
- docker搭建mysql
下载mysql镜像 [root@localhost ~]# docker pull mysql: 创建mysql容器 [root@localhost ~]# docker run -itd --nam ...