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

  字节流和字符流使用是非常相似的,那么除了操作代码的不同之外,还有哪些不同呢?

  字节流在操作的时候本身是不会用到缓冲区(内存)的,是与文件本身直接操作的,而字符流在操作的时候是使用到缓冲区的

  字节流在操作文件时,即使不关闭资源(close方法),文件也能输出,但是如果字符流不使用close方法的话,则不会输出任何内容,说明字符流用的是缓冲区,并且可以使用flush方法强制进行刷新缓冲区,这时才能在不close的情况下输出内容

  那开发中究竟用字节流好还是用字符流好呢?

  在所有的硬盘上保存文件或进行传输的时候都是以字节的方法进行的,包括图片也是按字节完成,而字符是只有在内存中才会形成的,所以使用字节的操作是最多的。

  如果要java程序实现一个拷贝功能,应该选用字节流进行操作(可能拷贝的是图片),并且采用边读边写的方式(节省内存)。

二、字节流与字符流的转换

虽然Java支持字节流和字符流,但有时需要在字节流和字符流两者之间转换。InputStreamReader和OutputStreamWriter,这两个为类是字节流和字符流之间相互转换的类。

// 创建字节输入流          字节流--字符流--缓存字符流 
InputStream fis = new FileInputStream("D:/demo/test.txt");  
//字节输入流转化为字符输入流
InputStreamReader is = new InputStreamReader(fis);
//字符输入流转化为缓存字符输入流  
BufferedReader bis = new BufferedReader(is);

简单的写是:BufferedReader bis = new BufferedReader (new InputStreamReader(new FileInputStream("D:/demo/test.txt"));

流的关闭顺序 
一般情况下是:先打开的后关闭,后打开的先关闭。

字节流和字符流区别于转换相关推荐

  1. [转载] 菜鸟举例理解字节流和字符流区别

    参考链接: Java中的字符流与字节流 Character Stream对比Byte Stream 菜鸟举例理解字节流和字符流区别 按照uft8编码方式存储文档 文档存储路径在D盘下 /** * 按照 ...

  2. 菜鸟举例理解字节流和字符流区别

    菜鸟举例理解字节流和字符流区别 按照uft8编码方式存储文档 文档存储路径在D盘下 /** * 按照utf8格式存储文档 */ public static void storeDataByUTF8() ...

  3. 字节流和字符流区别(附例子)

    字节流和字符流的用法几乎完成全一样,区别在于字节流和字符流所操作的数据单元不同,字节流操作的单元是数据单元是8位的字节,字符流操作的是数据单元为16位的字符. 区别 字节流一般用来处理图像.视频.音频 ...

  4. Java中的字节流和字符流区别

    字节流 1.字节流在操作的时候不会用到缓冲区(也就是内存) 2.字节流可用于任何类型的对象,包括二进制对象 3.字节流处理单元为1个字节,操作字节和字节数组. 字符流 1.而字符流在操作的时候会用到缓 ...

  5. 字节流和字符流区别与适用场景

    Java 中的字节流处理的最基本单位为 1 个字节,通常用来处理二进制数据.字节流类 InputStream 和 OutputStream 类均为抽象类,代表了基本的输入字节流和输出字节流. Java ...

  6. Java字节流和字符流区别

    1.字节流:直接操作文件本身. 2.字符流:通过缓冲区来操作文件. 所有的文件在硬盘或在传输时都是以字节的方式进行的,包括图片等都是按字节的方式存储的,而字符是只有在内存中才会形成,所以在开发中,字节 ...

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

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

  8. java 字节流 区别_java字节流字符流区别-嗨客网

    Java字节流与字符流区别 Java字节流与字符流区别教程 我们在 实际上字节流在对文件操作的时候,不会用到缓冲区(内存),对文件本身直接操作而字符流在对文件操作的时候用到了缓冲区,通过缓冲区来对文件 ...

  9. python字节流和字符流_字符流与字节流

    [一]写在前面 简单总结一下分别用(一直混淆的)字节流or字符流读写文件. [二]字节流 2.1 字节流介绍 程序中的输入输出都是以流的形式保存的(输入流or输出流),流中保存的实际上全都是字节(一个 ...

最新文章

  1. java运行在用户态_理解Linux用户态和内核态
  2. ca开头的车是什么牌子_动车与高铁的区别是什么?很少人知道!让我来告诉你吧...
  3. VTK修炼之道41:频域处理_低通滤波(理想+巴特沃兹)
  4. 同一公司代码下工厂间的库存转储 (轉載)
  5. 一些Python情结
  6. win7普通家庭版硬盘分区
  7. mysql解压版id是什么_Mysql安装(解压版)
  8. 距离矢量算法matlab实现,一种基于最小费用距离模型的城市生态网络构建方法与流程...
  9. 读caffe源码:gflags的使用
  10. LibFewShot:小样本学习与细粒度分类(一) -- 环境部署、相关论文研究
  11. Unity3D 去色Shader实现
  12. 车载主机企业对Android平台趋之若骛
  13. 51单片机温控风扇仿真原理图 C语言程序,51单片机温控风扇(含程序+原理图+仿真+PCB)...
  14. Unity iOS使用ASTC格式纹理实践
  15. 矩形类定义【C++】
  16. 剑指offer 09、30:栈与队列
  17. python搭建网盘网站_搭建nextcloud私有云存储网盘
  18. 苗木损耗1.1用计算机怎么算,园林绿化工程量计算方法
  19. 国内App推广终极37个方法
  20. docker 阿里云仓库地址

热门文章

  1. 为什么我们会如此在乎别人的看法?
  2. 详解ReentrantLock为什么是可重入锁
  3. 服务器虚拟主机是什么意思?
  4. Spark Sql 函数
  5. 曾国藩家训经典语录50条,条条入心
  6. 关于 \lfi-labs-master\CMD-3 的正确解法
  7. 2023年苹果企业开发者证书申请流程
  8. 无人驾驶的决策规划控制技术
  9. 大神用Python 爬取了的心中女神的微信,是如何做到的?
  10. linux(centOS)下搭建node服务器之一、 安装Node.js