先简单说明一下,文本文件与后缀无关,不论是“.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字符流拷贝/复制文本文件,字节流拷贝文本文件乱码,很经典简便相关推荐

  1. Java IO流 详解(字节流、字符流、输入流、输出流、刷新)

    一.IO流概述 I:Input输入  从其他存储设备[读]数据到内存中  输入过程         O:OutPut输出  从内存中[写]数据到其他存储设备  输出过程 二.IO流分类 1.根据数据的 ...

  2. 黑马程序员——Java字符流、字节流IO流

    黑马程序员--Java字符流.字节流Io流 ---------------------- <a href="http://www.itheima.com"target=&qu ...

  3. java字符流和字节流的区别

    理解Java中字符流与字节流的区别 1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个&qu ...

  4. 在java中字符流怎么复制_Java 使用字符流拷贝数据

    使用字符流拷贝数据时,需要注意在文件末尾处的数据,因为最后一次读取的长度不会刚好与数组input长度相同,所以需要引入新的变量来存储每次读取的长度. import java.io.File; impo ...

  5. java 字符流图片_java 字节流、字符流(复制图片、复制文本)

    1.File 1)构造方法 2)创建 3)判断.获取 4)删除 2.字节流 1)字节流写数据的3种方式 FileOutputStream fos = new FileOutputStream(&quo ...

  6. java字节流转字符流的步骤_字节流-java入门基础笔记-51CTO博客

    [14]字节流 一.字节流 1.什么是字节流是IO流中的一种, 可以用来读写字节数据. 2.字节流和字符流的区别计算机中存储任何数据都是以字节的形式, 所以字节流可以读写任意类型的数据. 在读写的数据 ...

  7. 系统学习JAVA第十七天(字节流、字符流、缓冲的字节流、缓冲的字符流、将字节流转换为缓冲的字符流、面向对象——>字节流转成对象)

    系统学习JAVA第十七天 第一阶段在2021.2.1结束了! 一.数据传输 IO输入和输出,硬盘之间的数据交换 1.文件读写流程 ①创建文件的容器 ②判断方向 合适的类 创建和文件之间的通道 ③ 调用 ...

  8. java字符流字节流场景_【120期】Java IO:字节流、字符流、缓冲流

    IO流是Java中的一个重要构成部分,也是我们经常打交道的.这篇关于Java IO的博文干货满满,堪称全网前三(请轻喷!) 下面几个问题(问题还会继续补充),如果你能对答如流,那么恭喜你,IO知识掌握 ...

  9. Java字节流和字符流的优缺点_字节流与字符流的区别用字节流好还是用字符流好?...

    字节流: (A)FileOutputStream(File name) 创建一个文件输出流,向指定的 File 对象输出数据. (B)FileOutputStream(FileDescriptor) ...

  10. 一篇文章总结java IO流(File、字节流、字符流、特殊操作流)

    目录 1.File 1.1 File类概述和构造方法 1.2 File类创建功能 1.3 File类删除功能 1.4 File类判断和获取功能 2.字节流 2.1 IO流概述和分类 2.2 字节流写数 ...

最新文章

  1. GitHub多人协作简明教程
  2. 教你怎么获得ICM会员ID解析.xxx域名(membership id icm)
  3. 【C#】读取Excel中嵌套的Json对象,Json带斜杠的问题(其三)
  4. python编写移位密码实现加密与解密
  5. matlab子函数中使用全局变量的使用方法
  6. 快速找回Edge浏览器书签的方法
  7. SageMath浅尝
  8. 微信支付的appid,appsecret,商户号mchid,微信交易支付密钥在哪里
  9. React Native组件(三)Text组件解析
  10. 如何设置Sketch快捷键,Sketch提升效率的常用技巧
  11. python-igraph创建网络(图)
  12. 牛客练习赛10 B栈和排序【思维】
  13. React Native开发环境配置检测
  14. 检测浏览器是否接受Cookies(Downmoon)?
  15. Word2Vec教程 - Skip-Gram模型
  16. 今天,传说中的老方给我们班上课了
  17. 翻煎饼问题swust oj~~~254
  18. 聚丙烯酰胺凝胶电泳检测非还原性SDS-PAGE蛋白质产品的纯度
  19. AssemblyBuilder和Assembly
  20. Linux系统运维之系统的启动流程 (转)

热门文章

  1. 使用WePE对无法启动的系统文件进行操作
  2. C语言程序设计--教师信息管理系统
  3. 在Eclipse中安装Subclipse
  4. 解决MATLAB的xlsread函数读取表格失败
  5. 基于二阶锥规划的主动配电网动态最优潮流求解
  6. CMSIS 记录与下载
  7. bt linux wifi,RK3288 添加WiFiBT模块AP6212
  8. 在Linux下实现一个使用键盘控制的虚拟鼠标
  9. 小米手机上的云便签怎么把数据导出电脑
  10. 缺陷管理工具(jira,禅道)