文章目录

  • 一、字节流与字符流的区别
    • 1、操作的数据单元不同
    • 2、可以实现的功能不同
    • 3、为什么实现的区别功能不同?

一、字节流与字符流的区别

1、操作的数据单元不同

  • 字节流操作的是字节
  • 字符流操作的是字符

2、可以实现的功能不同

  • FileInputSteam和FileOutputStream可以完成所有格式文件的复制;

  • FileReader和FileWriter只能完成文本格式的复制,无法完成视频、音频等文件的复制;

3、为什么实现的区别功能不同?

  • 1、字节不需要解码编码,将字节转化为字符才需要进行解码编码的问题;

  • 2、字节流可以从所有设备中读写数据,但字符流只能从文本格式的设备中读写数据;

注:当程序需要从显示器中显示时,带有中文等字符形式的文件使用字节流因为需要解码编码会出现乱码,无法正确输出;


使用字符流复制音频文件 Demo 代码示例:

public class TestCopy {public static void main(String[] args) {FileReader fi=null;FileWriter fo=null;try {fi=new FileReader("D:\\朴树 - 平凡之路.flac");//用字符流复制一个音频文件fo=new FileWriter("C:\\Users\\86152\\Desktop\\新建文件夹\\yy.flac");int i;while(-1!=(i=fi.read())) {fo.write(i);}}catch(FileNotFoundException e) {System.out.printf("文件没有找到!\n");System.exit(-1);}catch(IOException e) {System.out.printf("文件读写错误!\n");System.exit(-1);}finally {try {if(fi!=null) {fi.close();fi=null;}if(fo!=null) {fo.close();fo=null;}}catch(Exception e) {e.printStackTrace();System.exit(-1);}}System.out.printf("复制成功!\n");}  }

运行结果:虽然文件看着复制完成了,但是文件内部呈现破损状态,无法使用。

3、字节流与字符流的区别相关推荐

  1. 字节流与字符流的区别(good!)

    字节流与字符流的区别 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了 ...

  2. 1.8 Java字节流和字符流的区别,如何区分输入流和输出流?

    Java字节流和字符流的区别 首先我们先大概总结一下前面学习的内容,可分为以下几点: 以 Stream 结尾都是字节流,Reader 和 Writer 结尾都是字符流. InputStream 是所有 ...

  3. java字符流实际上也是字节,[Java教程]Java字节流与字符流的区别

    [Java教程]Java字节流与字符流的区别 0 2017-05-22 12:00:42 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身 ...

  4. java字节流转字符串_字节流与字符流的区别及相互转换

    先来看一下流的概念: 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输出都是以流的形 ...

  5. Java I/O之字节流与字符流的区别

    字节流与字符流的区别: 上图解析: 字节输出流是直接把字节数据写出到磁盘或其他设备上,而字符输出流会先把字符输出流按一定的编码规则进行编码成二进制的字节输出流再写出到磁盘或其他设备上. 字节输入流每次 ...

  6. Java文件流字节流和字符流的区别

    字节流和字符流的区别: 读写单位不同:字节流以字节(8bit)为单位, 字符流以字符为单位 处理对象不同:字节流能处理所有类型的文件,包括图片,视频等,而字符流只能处理字符类型的数据 字节流:一次读入 ...

  7. java精选面试题---字节流和字符流的区别

    字节流和字符流的区别 字节流读取的时候,读到一个字节就返回一个字节: 字符流使用了字节流读到一个或多个字节(中文对应的字节 数是两个,在 UTF-8 码表中是 3 个字节)时.先去查指定的编码表,将查 ...

  8. 字节流与字符流的区别详解

    字节流与字符流 先来看一下流的概念: 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入 ...

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

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

  10. IO流总结——字节流与字符流的区别

    字节流与字符流的区别: 字节流与字符流的区别: 所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘.在读取文件(特别是文本文件)时, ...

最新文章

  1. Python 模块学习 logging(2)
  2. 线性筛素数(欧拉筛)
  3. 09--MySQL自学教程:多表查询之内连接、外连接以及【子查询】
  4. [caffe解读] caffe从数学公式到代码实现2-基础函数类
  5. 重温名篇《康托尔、哥德尔、图灵——永恒的金色对角线》
  6. EconomicIndoor集成测试
  7. 深入理解Java内存架构
  8. Java基础---学Java怎么能不了解多线程---Lambda表达式
  9. 协同过滤之ALS-WR算法
  10. iOS底层探索之LLVM(二)——自定义Clang插件(上)
  11. mac苹果电脑如何读取ntfs格式软件?
  12. cad画钟表_cad应用环形矩阵制作钟表盘
  13. 【Kafka】Cancelled fetchMetadata request with correlation id due to node -1 being disconnected
  14. 用计算机计算实发工资,工资税率计算器 个税反推应发工资计算公式
  15. 【11】processing-曲线(中文)
  16. ios 自定义滑杆
  17. 聚焦扶贫,爱在瑶山,深圳市华南物流商会在行动
  18. java空气质量指数AQI算法
  19. 基于ROS设计一款机械臂控制系统 [转发]
  20. 第五章第六题(英里与千米之间的互换)(Conversion from mile to kilometer and kilometer to mile)

热门文章

  1. Js拆分字符串split多出一个空字符
  2. 如何将pdf图片文字转换成word 文字word图片怎么转换pdf
  3. 中学毕业自学编程黑客在阿里能不能年薪500万
  4. NON-NEGATIVE SPARSE CODING论文部分翻译
  5. powershell下使用linux命令,PowerShell-PowerShell(命令行脚本工具)下载 v7.0.3官方版--pc6下载站...
  6. iOS 6苹果地图应用(MapKit)-打开外部应用(导航)
  7. 华为云计算HCIA(一)-服务器
  8. 对jvm的学习--简章
  9. python与c语言在语法上的相同点和不同点_python与c语言的语法有哪些不一样的
  10. 验证码(easy-captcha)