BufferedCopy
字符的复制
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相关推荐
- jvm 堆外内存_NIO效率高的原理之零拷贝与直接内存映射
更多内容,欢迎关注微信公众号:全菜工程师小辉~ 前言 在笔者上一篇博客,详解了NIO,并总结NIO相比BIO的效率要高的三个原因,彻底搞懂NIO效率高的原理. 这篇博客将针对第三个原因,进行更详细的讲 ...
- java byte char io流_吃透Java IO:字节流、字符流、缓冲流
前言有人曾问fastjson的作者(阿里技术专家高铁):"你开发fastjson,没得到什么好处,反而挨了骂背了锅,这种事情你为什么要做呢?" 高铁答道:"因为热爱本身, ...
- java基础 io流 字节流 字符流 节点流 包装流 转换流 缓冲流 对象流 打印流 Properties类
目录 1.概念 2.常用的文件操作 2.1 创建文件 2.2 获取文件相关信息 2.3 目录的操作和文件删除 3. IO流原理及流的分类 3.1 流的分类 4.InputStream 字节输入流 4. ...
- Java之节点流和处理流(Buffered字节字符处理流)
文章目录 前言 基本介绍 Buffered字符处理流 BufferedReader缓冲字符输入流 BufferedWriter缓冲字符输出流 文件拷贝 Buffered字节处理流 文件拷贝(二进制文件 ...
- lo流讲解 和使用(大纲)
IO流 IO:input.output 流:指的是程序中数据的流动方向 分类: 按流向分: 输入流:从文件到控制台(读取文件中的数据至控制台) 输出流:从控制台到文件(将控制台中的数据存储至文件) 按 ...
- JavaSE-part2
文章目录 Day07 IO流 1.IO流 1.1背景介绍 1.2File类 1.2.1常用方法 1.3IO流原理 1.4IO流的分类 1.4.1InputStream 字节输入流 1.4.1.1Fil ...
- NIO效率高的原理之零拷贝与直接内存映射
前言 在笔者上一篇博客,详解了NIO,并总结NIO相比BIO的效率要高的三个原因,点击查看. 这篇博客将针对第三个原因,进行更详细的讲解. 首先澄清,零拷贝与内存直接映射并不是Java中独有的概念,并 ...
- 【Netty】Netty零拷贝原理
前言 理解零拷贝 零拷贝是Netty的重要特性之一,而究竟什么是零拷贝呢? WIKI中对其有如下定义: "Zero-copy" describes computer operati ...
- 【Java基础】吃透Java IO:字节流、字符流、缓冲流
文章目录 [Java基础-3]吃透Java IO:字节流.字符流.缓冲流 一.初识java IO 1.1 IO流分类 1.1.1 输入流与输出流 1.1.2 字节流与字符流 1.1.3 节点流和处理流 ...
最新文章
- UART0串口编程(一):通信协议设计;RS232标准
- mysql windows ad_您可以使用PHP获得Windows(AD)用户名吗?
- 输入输出系统1 ----- 特性 输出输出方式
- android导入导出txt通讯录,Android导入导出txt通讯录工具
- Batch批量替换hosts
- Javascript之DOM(Element类型)
- Jmeter启动报错解决方案
- latex 常用环境(environment)
- JAVA操作文件大全(一)
- 适用于物联网数据共享的区块链节点存储优化方案
- 基于ip子网划分vlan
- html中自定义右键菜单功能,HTML中自定义右键菜单功能
- 秣小白的C语言旅程——第一站
- 使用NtCreateThreadEx将Dll注入目标进程
- 谈谈个人对SnmpSharpNet的实践经验
- 彩色图像处理 彩色空间转换及代码实现
- 微信小程序--实现拨打电话功能
- TTS什么意思,缩写,微软TTS语音引擎(中文)5.1 “TTS”是“文本到语音(Text To Sound)”的简称
- BAT都在封杀 React/React Native,我该怎么办?
- 设计模式之门面模式与装饰器模式详解和应用