字符的复制

package file.Buffered;import java.io.*;
//BufferedReader和BufferedWriter 是安装字符操作
//不要去操作二进制文件,可能造成文件损坏
/*
* 二进制文件是以字节为单位进行读写的文件,它包含了任意类型的数据,包括图片、音频、视频
* 等非文本数据。在处理二进制文件时,可以使用字节流(InputStream和OutputStream)来读写数据。(声音视频,word,excel,ppt文件等)
*
*文本文件是以字符为单位进行读写的文件,它包含了文本数据,通常使用ASCII或Unicode编码表示字符。
* 在处理文本文件时,可以使用字符流(Reader和Writer)来读写数据。
*/
public class BufferedCopy {public static void main(String[] args) {String sourcePath = "d:\\news.txt";String destPath ="d:\\destnews.txt";BufferedReader br =null;BufferedWriter bw = null;String line;//按行读取try {br = new BufferedReader(new FileReader(sourcePath));bw = new BufferedWriter(new FileWriter(destPath));while((line = br.readLine()) != null){//判断是否为空,如不为空则继续读入bw.write(line);//每读取一行就插入一行bw.newLine();//插入换行符}System.out.println("拷贝完成");} catch (IOException e) {throw new RuntimeException(e);} finally {//关闭流try {if(br != null){br.close();}if(bw != null){bw.close();}} catch (IOException e) {throw new RuntimeException(e);}}}
}

字节的复制

package file.Buffered;import java.io.*;public class BufferedCopy02 {public static void main(String[] args) {String spath = "d:\\PP.jpg";String dpath = "d:\\dPP.jpg";BufferedInputStream bi = null;BufferedOutputStream bo = null;try {bi = new BufferedInputStream(new FileInputStream(spath));bo = new BufferedOutputStream(new FileOutputStream(dpath));byte[] buff = new byte[1024];int readln = 0;while((readln = bi.read(buff))!= -1){//返回-1,文件读取完毕bo.write(buff,0,readln);}System.out.println("文件拷贝成功");} catch (IOException e) {throw new RuntimeException(e);} finally {try {if(bi != null){bi.close();}if(bo !=  null){bo.close();}} catch (IOException e) {throw new RuntimeException(e);}}}
}

BufferedCopy相关推荐

  1. jvm 堆外内存_NIO效率高的原理之零拷贝与直接内存映射

    更多内容,欢迎关注微信公众号:全菜工程师小辉~ 前言 在笔者上一篇博客,详解了NIO,并总结NIO相比BIO的效率要高的三个原因,彻底搞懂NIO效率高的原理. 这篇博客将针对第三个原因,进行更详细的讲 ...

  2. java byte char io流_吃透Java IO:字节流、字符流、缓冲流

    前言有人曾问fastjson的作者(阿里技术专家高铁):"你开发fastjson,没得到什么好处,反而挨了骂背了锅,这种事情你为什么要做呢?" 高铁答道:"因为热爱本身, ...

  3. java基础 io流 字节流 字符流 节点流 包装流 转换流 缓冲流 对象流 打印流 Properties类

    目录 1.概念 2.常用的文件操作 2.1 创建文件 2.2 获取文件相关信息 2.3 目录的操作和文件删除 3. IO流原理及流的分类 3.1 流的分类 4.InputStream 字节输入流 4. ...

  4. Java之节点流和处理流(Buffered字节字符处理流)

    文章目录 前言 基本介绍 Buffered字符处理流 BufferedReader缓冲字符输入流 BufferedWriter缓冲字符输出流 文件拷贝 Buffered字节处理流 文件拷贝(二进制文件 ...

  5. lo流讲解 和使用(大纲)

    IO流 IO:input.output 流:指的是程序中数据的流动方向 分类: 按流向分: 输入流:从文件到控制台(读取文件中的数据至控制台) 输出流:从控制台到文件(将控制台中的数据存储至文件) 按 ...

  6. JavaSE-part2

    文章目录 Day07 IO流 1.IO流 1.1背景介绍 1.2File类 1.2.1常用方法 1.3IO流原理 1.4IO流的分类 1.4.1InputStream 字节输入流 1.4.1.1Fil ...

  7. NIO效率高的原理之零拷贝与直接内存映射

    前言 在笔者上一篇博客,详解了NIO,并总结NIO相比BIO的效率要高的三个原因,点击查看. 这篇博客将针对第三个原因,进行更详细的讲解. 首先澄清,零拷贝与内存直接映射并不是Java中独有的概念,并 ...

  8. 【Netty】Netty零拷贝原理

    前言 理解零拷贝 零拷贝是Netty的重要特性之一,而究竟什么是零拷贝呢? WIKI中对其有如下定义: "Zero-copy" describes computer operati ...

  9. 【Java基础】吃透Java IO:字节流、字符流、缓冲流

    文章目录 [Java基础-3]吃透Java IO:字节流.字符流.缓冲流 一.初识java IO 1.1 IO流分类 1.1.1 输入流与输出流 1.1.2 字节流与字符流 1.1.3 节点流和处理流 ...

最新文章

  1. UART0串口编程(一):通信协议设计;RS232标准
  2. mysql windows ad_您可以使用PHP获得Windows(AD)用户名吗?
  3. 输入输出系统1 ----- 特性 输出输出方式
  4. android导入导出txt通讯录,Android导入导出txt通讯录工具
  5. Batch批量替换hosts
  6. Javascript之DOM(Element类型)
  7. Jmeter启动报错解决方案
  8. latex 常用环境(environment)
  9. JAVA操作文件大全(一)
  10. 适用于物联网数据共享的区块链节点存储优化方案
  11. 基于ip子网划分vlan
  12. html中自定义右键菜单功能,HTML中自定义右键菜单功能
  13. 秣小白的C语言旅程——第一站
  14. 使用NtCreateThreadEx将Dll注入目标进程
  15. 谈谈个人对SnmpSharpNet的实践经验
  16. 彩色图像处理 彩色空间转换及代码实现
  17. 微信小程序--实现拨打电话功能
  18. TTS什么意思,缩写,微软TTS语音引擎(中文)5.1 “TTS”是“文本到语音(Text To Sound)”的简称
  19. BAT都在封杀 React/React Native,我该怎么办?
  20. 设计模式之门面模式与装饰器模式详解和应用

热门文章

  1. 超燃2022昭通首届国际烟花节,2月14日起盛大开燃门票免费送
  2. Matlab 并行计算学习初步
  3. html 表单提交到后台,html form表单提交数据并后台获取
  4. 为你解惑:js中function(e)的e是什么意思,代表什么。。。。
  5. Word doc文件在未到英文单词末尾换行
  6. linux怎么运行gcc,在Linux下使用gcc运行C语言程序
  7. mac电脑如何快速显示桌面及切换应用
  8. 利用FullCalendar做简单的日程管理,以及后台动态更新数据出现的问题。
  9. [电路]13-结点电压法
  10. POJ h0248.海贼王之伟大航路