易错的地方:

/** 出错的地方:
* 1.缓冲流儿输出时,务必:flush();不然可能输出不尽!
* 2. bw缓冲字符输出流,记得这里! bw.write(b,0,len);
* 3.字符流不能复制除 纯文本文件 以外的其他文件,不然会损坏!!
* *1.对于非文本文件(视频/音频/图片)使用, 只能使用(字节)byte流! 也可以使用转换流提高速度233
* * 2.对于文本文件 ,大型文件的话,建议使用字符流(FileReaderWriter)!
*/

总的笔记:

/** 出错的地方:
* 1.缓冲流儿输出时,务必:flush();不然可能输出不尽!
* 2. bw缓冲字符输出流,记得这里! bw.write(b,0,len);
* 3.字符流不能复制除 纯文本文件 以外的其他文件,不然会损坏!!
* *1.对于非文本文件(视频/音频/图片)使用, 只能使用(字节)byte流! 也可以使用转换流提高速度233
* * 2.对于文本文件 ,大型文件的话,建议使用字符流(FileReaderWriter)!
*/ /**字符流处理步骤:
* ①声明②加载地址③read/write④close流)
*----------------------------------------------------------------------------
* 缓冲流(处理流的一种,相较于加速之前的操作)
* BufferedInputStream read()
* BufferedOutputStream write(),flush():刷新一次,确保输出完
* BufferedReader readLine(): 复制一行!
* BufferedWriter flush() //刷新一次,确保输出完

三种方式:

//实验1: 同时使用FileReader / FileWriter 进行文本文件的复制,不支持中文!
@Test   //实验1: 同时使用FileReader / FileWriter 进行文本文件的复制,不支持中文!
public void testFileReaderWriter() throws IOException {
FileReader fr=null;
FileWriter fw=null;
File src=new File("D:\\SZS文件夹\\IO\\hello.txt");
File dest=new File("D:\\SZS文件夹\\IO\\复制的hello.txt");
try {
fr=new FileReader(src);
fw=new FileWriter(dest);
char[] ch= new char[10];
int len=0;
while((len=fr.read(ch))!=-1 ){
fw.write(ch);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
fr.close();
fw.close();
}
}
//实验2: 同时使用BufferInputStream和BufferOutputStream进行图片 的复制
 @Test  //实验2: 同时使用BufferInputStream和BufferOutputStream进行图片 的复制
public void testBufferStream() throws IOException{
//①声明②加载字节流,缓冲流③read/write④close缓冲流)
File src=new File("D:\\SZS文件夹\\IO\\TIM截图20181017161349.png");
File dest=new File("D:\\SZS文件夹\\IO\\复制的TIM截图.png");
FileInputStream fis= new FileInputStream(src);
FileOutputStream fos = new FileOutputStream(dest); BufferedInputStream bis=new BufferedInputStream(fis);
BufferedOutputStream bos=new BufferedOutputStream(fos); byte[] b=new byte[1024];
int len;
while((len=bis.read(b))!=-1)
bos.write(b,0,len); bis.close();
bos.close();
}
//实验3: 同时使用BufferedReader 和 BufferedWriter 进行文本的复制
  @Test  //实验3: 同时使用BufferedReader 和 BufferedWriter 进行文本的复制
public void testBufferedReaderWriter() throws IOException{
File src=new File("D:\\SZS文件夹\\IO\\hello.txt");
File dest=new File("D:\\SZS文件夹\\IO\\BufferedReaderWriter复制的hello.txt");
//①声明②将地址加载进字符流,将字符流加载进缓冲流③read/write④close缓冲流)
FileReader fis= new FileReader(src);
FileWriter fos = new FileWriter(dest); BufferedReader bs=new BufferedReader(fis);
BufferedWriter bw=new BufferedWriter(fos); char[] b=new char[1024];
int len;
while((len=bs.read(b))!= -1) {
bw.write(b,0,len);
}
bw.flush();
bs.close();
bs.close();
}
学习视频地址:http://www.gulixueyuan.com/course/39/task/497/show

最新文章

  1. Android随笔之——Activity中启动另一应用
  2. 修复DapperExtension做Insert对象主键为Guid时不能赋值的问题
  3. 易学PHP——PHP基础知识
  4. maven常用插件: 打包源码 / 跳过测试 / 单独打包依赖项
  5. STL中stack小结
  6. Dan计划:重新定义人生的10000个小时
  7. Codeforces Round #199 (Div. 2)
  8. AXURE制作APP抽屉式菜单
  9. shell编程(一)--常用变量及表达式
  10. Eucalyptus和Openstack最近版本的改动简单对比
  11. MySQL的一点浅显知识
  12. 天气预报demo (ShareREC 官网 MobAPI)
  13. fiddler学习总结--fiddler抓包篡改数据请求
  14. tomcat -> 简介&部署
  15. 使用log4jdbc记录SQL信息
  16. 关于STM32 MDK中USE_STDPERIPH_DRIVER问题的解释
  17. wxpython 图像编程
  18. exec命令详解
  19. SpringSecurity 3.2入门(10)自定义权限控制认证及授权的过程
  20. linux学习(二)——汤哥的推荐书籍

热门文章

  1. 数据结构与算法学习(二)——Master公式及其应用
  2. Python爬取链家二手房源信息
  3. 搭建sqli靶场
  4. 【数据库开发】如何创建MySQL数据库连接池(一个基于libmysql的MySQL数据库连接池示例(C/C++版))
  5. 解决Error: Can't find Python executable "python", you can set the PYTHON env variable
  6. eNSP——配置基于地址池的DHCP
  7. rest_framework之组件大长今
  8. python爬虫的入门问题
  9. Pywinauto使用方法
  10. python学习-50 pickle模块