Java字符流拷贝/复制文本文件,字节流拷贝文本文件乱码,很经典简便
先简单说明一下,文本文件与后缀无关,不论是“.txt”,“.java”,还是“.什么”,只要能使用记事本/文本编辑打开/编辑的,都可以称为文本文件。相比于字节流拷贝文件而言,字符流拷贝文本文件更好用一些,但是对于其他类型的文件,字符流是不能拷贝的。
同时,对于write()方法而言,除了char[]数组以外,还可以直接使用String类型,非常方便,中文也是可以的,字节流则可能会乱码。
那么我们来看一看具体实现吧。
package iostream.FileWriter;import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;/*** 使用FileReader和FileWriter只能拷贝普通文本文件*/
public class FileWriterTest2 {public static void main(String[] args) {FileReader fileReader = null;FileWriter fileWriter = null;try {fileReader = new FileReader("/Users/yuuki/Downloads/tmp.txt");fileWriter = new FileWriter("/Users/yuuki/Downloads/temp.txt");//这里代表的是1M,因为Java中char类型占的是2字节char[] chars = new char[512 * 1024];int readCount = 0;while ((readCount = fileReader.read(chars)) != -1) {fileWriter.write(chars,0,readCount);}fileWriter.flush();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {if (fileReader != null) {try {fileReader.close();} catch (IOException e) {e.printStackTrace();}}if (fileWriter != null) {try {fileWriter.close();} catch (IOException e) {e.printStackTrace();}}}}
}
Java字符流拷贝/复制文本文件,字节流拷贝文本文件乱码,很经典简便相关推荐
- Java IO流 详解(字节流、字符流、输入流、输出流、刷新)
一.IO流概述 I:Input输入 从其他存储设备[读]数据到内存中 输入过程 O:OutPut输出 从内存中[写]数据到其他存储设备 输出过程 二.IO流分类 1.根据数据的 ...
- 黑马程序员——Java字符流、字节流IO流
黑马程序员--Java字符流.字节流Io流 ---------------------- <a href="http://www.itheima.com"target=&qu ...
- java字符流和字节流的区别
理解Java中字符流与字节流的区别 1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个&qu ...
- 在java中字符流怎么复制_Java 使用字符流拷贝数据
使用字符流拷贝数据时,需要注意在文件末尾处的数据,因为最后一次读取的长度不会刚好与数组input长度相同,所以需要引入新的变量来存储每次读取的长度. import java.io.File; impo ...
- java 字符流图片_java 字节流、字符流(复制图片、复制文本)
1.File 1)构造方法 2)创建 3)判断.获取 4)删除 2.字节流 1)字节流写数据的3种方式 FileOutputStream fos = new FileOutputStream(&quo ...
- java字节流转字符流的步骤_字节流-java入门基础笔记-51CTO博客
[14]字节流 一.字节流 1.什么是字节流是IO流中的一种, 可以用来读写字节数据. 2.字节流和字符流的区别计算机中存储任何数据都是以字节的形式, 所以字节流可以读写任意类型的数据. 在读写的数据 ...
- 系统学习JAVA第十七天(字节流、字符流、缓冲的字节流、缓冲的字符流、将字节流转换为缓冲的字符流、面向对象——>字节流转成对象)
系统学习JAVA第十七天 第一阶段在2021.2.1结束了! 一.数据传输 IO输入和输出,硬盘之间的数据交换 1.文件读写流程 ①创建文件的容器 ②判断方向 合适的类 创建和文件之间的通道 ③ 调用 ...
- java字符流字节流场景_【120期】Java IO:字节流、字符流、缓冲流
IO流是Java中的一个重要构成部分,也是我们经常打交道的.这篇关于Java IO的博文干货满满,堪称全网前三(请轻喷!) 下面几个问题(问题还会继续补充),如果你能对答如流,那么恭喜你,IO知识掌握 ...
- Java字节流和字符流的优缺点_字节流与字符流的区别用字节流好还是用字符流好?...
字节流: (A)FileOutputStream(File name) 创建一个文件输出流,向指定的 File 对象输出数据. (B)FileOutputStream(FileDescriptor) ...
- 一篇文章总结java IO流(File、字节流、字符流、特殊操作流)
目录 1.File 1.1 File类概述和构造方法 1.2 File类创建功能 1.3 File类删除功能 1.4 File类判断和获取功能 2.字节流 2.1 IO流概述和分类 2.2 字节流写数 ...
最新文章
- GitHub多人协作简明教程
- 教你怎么获得ICM会员ID解析.xxx域名(membership id icm)
- 【C#】读取Excel中嵌套的Json对象,Json带斜杠的问题(其三)
- python编写移位密码实现加密与解密
- matlab子函数中使用全局变量的使用方法
- 快速找回Edge浏览器书签的方法
- SageMath浅尝
- 微信支付的appid,appsecret,商户号mchid,微信交易支付密钥在哪里
- React Native组件(三)Text组件解析
- 如何设置Sketch快捷键,Sketch提升效率的常用技巧
- python-igraph创建网络(图)
- 牛客练习赛10 B栈和排序【思维】
- React Native开发环境配置检测
- 检测浏览器是否接受Cookies(Downmoon)?
- Word2Vec教程 - Skip-Gram模型
- 今天,传说中的老方给我们班上课了
- 翻煎饼问题swust oj~~~254
- 聚丙烯酰胺凝胶电泳检测非还原性SDS-PAGE蛋白质产品的纯度
- AssemblyBuilder和Assembly
- Linux系统运维之系统的启动流程 (转)