/**
* 修改日期:2020/04/01
* 修改人:牟松
* 缓冲流BufferedOutputStream和BufferedInputStream基本操作练习
* 问题:手动修改文件之后,不知道为何会出现无法从缓冲区中读取数据的问
* 参考链接:https://blog.csdn.net/lyb1832567496/article/details/52727862/
**/
BufferedInputStream:
/**
* 修改日期:2020/04/01
* 修改人:牟松
* BufferedInputStream:处理流(高级流),缓冲输入流
**/
* 修改日期:2020/04/01
* 修改人:牟松
* BufferedInputStream:处理流(高级流),缓冲输入流
**/
package io;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileInputStream;
public class BISDemo01 {
public static void main(String[] args){
try {
FileInputStream fis=new FileInputStream("BISDemo.txt");
BufferedInputStream bis=new BufferedInputStream(fis);
String content=null;
byte[] buffer=new byte[10240];
int flag=0;
while((flag=bis.read(buffer))!=-1){
content+=new String(buffer, 0, flag);
}
System.out.println(content);
public static void main(String[] args){
try {
FileInputStream fis=new FileInputStream("BISDemo.txt");
BufferedInputStream bis=new BufferedInputStream(fis);
String content=null;
byte[] buffer=new byte[10240];
int flag=0;
while((flag=bis.read(buffer))!=-1){
content+=new String(buffer, 0, flag);
}
System.out.println(content);
bis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
e.printStackTrace();
}
}
}
BufferedOutputStream:
package io;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.FileOutputStream;
/**
* 修改日期:2020/04/01
* 修改人:牟松
* BufferedOutputStream:处理流(高级流),缓冲输出流
**/
* 修改日期:2020/04/01
* 修改人:牟松
* BufferedOutputStream:处理流(高级流),缓冲输出流
**/
public class BOSDemo01 {
public static void main(String[] args){
try {
FileOutputStream fos=new FileOutputStream("BOSDemo.txt");
BufferedOutputStream bos=new BufferedOutputStream(fos);
String content="输出流测试数据!";
bos.write(content.getBytes(),0,content.getBytes().length);
bos.flush();
bos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
try {
FileOutputStream fos=new FileOutputStream("BOSDemo.txt");
BufferedOutputStream bos=new BufferedOutputStream(fos);
String content="输出流测试数据!";
bos.write(content.getBytes(),0,content.getBytes().length);
bos.flush();
bos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
SummaryBISAndBOS:
package io;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
/**
* 修改日期:2020/04/01
* 修改人:牟松
* 使用缓冲输出流和缓冲输入流实现文件的复制
**/
* 修改日期:2020/04/01
* 修改人:牟松
* 使用缓冲输出流和缓冲输入流实现文件的复制
**/
public class SummaryBISAndBOS {
public static void main(String[] args){
/**
* 1.先将文件中的内容读入到缓冲输入流中
* 2.将输入流中的数据通过缓冲输出流写入到目标文件中
* 3.关闭输入流和输出流
*/
try {
public static void main(String[] args){
/**
* 1.先将文件中的内容读入到缓冲输入流中
* 2.将输入流中的数据通过缓冲输出流写入到目标文件中
* 3.关闭输入流和输出流
*/
try {
long begin=System.currentTimeMillis();
FileInputStream fis=new FileInputStream("BISDemo.txt");
BufferedInputStream bis=new BufferedInputStream(fis);
FileOutputStream fos=new FileOutputStream("BOSDemo.txt");
BufferedOutputStream bos=new BufferedOutputStream(fos);
int size=0;
byte[] buffer=new byte[10240];
while((size=bis.read(buffer))!=-1){
bos.write(buffer, 0, size);
}
//刷新此缓冲的输出流,保证数据全部都能写出
bos.flush();
bis.close();
bos.close();
long end=System.currentTimeMillis();
System.out.println("使用缓冲输出流和缓冲输入流实现文件的复制完毕!耗时:"+(end-begin)+"毫秒");
} catch (Exception e) {
e.printStackTrace();
}
}
}
FileInputStream fis=new FileInputStream("BISDemo.txt");
BufferedInputStream bis=new BufferedInputStream(fis);
FileOutputStream fos=new FileOutputStream("BOSDemo.txt");
BufferedOutputStream bos=new BufferedOutputStream(fos);
int size=0;
byte[] buffer=new byte[10240];
while((size=bis.read(buffer))!=-1){
bos.write(buffer, 0, size);
}
//刷新此缓冲的输出流,保证数据全部都能写出
bos.flush();
bis.close();
bos.close();
long end=System.currentTimeMillis();
System.out.println("使用缓冲输出流和缓冲输入流实现文件的复制完毕!耗时:"+(end-begin)+"毫秒");
} catch (Exception e) {
e.printStackTrace();
}
}
}