好记性不如赖笔头……
带有高速缓冲区的字符流示例
package com.Ckinghan.outputStream;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
*
* @author Ckinghan
* @描述:带有高效缓冲区的字节流
*/
public class BufferedInputStreamDemo {
public static void main(String[] args) {
/**
* 用高效缓冲区的字节流读取复制文件,复制方式:一次复制一个字符
*/
bufferedInputStreamReader();
/**
* 用高效缓冲区的字节流读取复制文件,复制方式:一次复制指定数量的字节
*/
bufferedInputStreamCopyFile();
}
/**
* @描述:用高效缓冲区的字节流读取复制文件,复制方式:一次复制指定数量的字节
* @创建时间:
*/
public static void bufferedInputStreamCopyFile(){
//创建字节流对象
InputStream inputStream = null;
OutputStream outputStream = null;
try {
//实例化高效缓冲区字节流的输入、输出对象
inputStream = new BufferedInputStream(new FileInputStream("E:/WebLogin.log"));
outputStream = new BufferedOutputStream(new FileOutputStream("E:/new.log"));
//每次读取的文件字节数量
int len = -1;
//每次读取的文件字节数据
byte[] bs = new byte[1024];
//循环读取文件,直至读到文件末尾
while ((len = inputStream.read(bs)) != -1) {
//写入到文件
outputStream.write(bs, 0, len);
}
//清空缓冲区,将写入到文件中的数据保存
outputStream.flush();
//复制成功输出
System.out.println("使用高效缓冲字节流一次读取指定数量的字节复制文件完毕");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
//关闭流
if(outputStream != null)
outputStream.close();
if(inputStream != null)
inputStream.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
/**
* @描述:使用高效缓冲区的字节流读取复制文件,复制方式:一次复制一个字符
* @创建时间:
*/
public static void bufferedInputStreamReader(){
//创建字节流对象
InputStream inputStream = null;
OutputStream outputStream = null;
try {
//实例化高效缓冲区字节流的输入、输出对象
inputStream = new BufferedInputStream(new FileInputStream("E:/WebLogin.log"));
outputStream = new BufferedOutputStream(new FileOutputStream("E:/login.log"));
//读取的字节ACSII码
int val = -1;
//循环读取文件,直至读到文件末尾
while((val = inputStream.read()) != -1){
//写入到文件
outputStream.write(val);
}
//清空缓冲区,将写入到文件中的数据保存
outputStream.flush();
//复制成功输出
System.out.println("使用高效缓冲字节流一次读取一个字节复制文件完毕");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
//关闭流
if(outputStream != null)
outputStream.close();
if(inputStream != null)
inputStream.close();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
}