前几天被一个东西弄得有点懵圈,才发现,其实字节流底层也是字节,不过它是一个带有编码和解码的字节,所以它可能自带一些缓存,你如果不把流关闭,最新的数据就传不进去。

举例:比如说我要用字符流输出流把字符串”aaa“存到某个文件中

public class SeriaTest2 {public static void main(String[] args) {try(FileWriter fileWriter = new FileWriter("./resources/aa.txt");FileReader fileReader = new FileReader("./resources/aa.txt")){fileWriter.write("aaa");
//           fileWriter.close();int m;while((m=fileReader.read())!=-1) {System.out.println(m);}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}

你会发现打印出来为空,因为内容还存在缓存中呢,等流关闭了,才会写进去。

*有两种方法可以防止此类错误,第一种就是上图所示的,写完之后理解关闭流fileWriter.close();

第二种方式是,输入流和输出流分开来写,别都整在一个try()里面。其实原理也是和第一种一样,都是让写入流先关闭。

字节流自带缓存,而字节流不带相关推荐

  1. php 自带缓存,封装ThinkPhP自带的缓存机制

    namespace Home\Controller; use Think\Controller; use Think\Think; /** * @param string $cache_folder ...

  2. Java测试字节流和字符流,以及带缓存的字符流读取速度对比

    测试用的文件为txt格式文件,大小为2.12MB package IO;import java.io.BufferedReader; import java.io.File; import java. ...

  3. 【java学习笔记-io流 文件读写和键盘读写】带缓存的输入/输出流和数据输入/输出流

    文章目录 字节流类 带缓存的输入/输出流 BufferedReader与BufferedWriter类 下面的例子程序演示了read()方法,从控制台读取字符直到用户键入"q": ...

  4. leetcode 678. Valid Parenthesis String | 678. 有效的括号字符串(带缓存的暴力递归)

    题目 https://leetcode.com/problems/valid-parenthesis-string/ 题解 带缓存的暴力递归,非常挫.用一个 string 模拟 stack,方便缓存记 ...

  5. 不带缓存的I/O和标准(带缓存的)I/O

    首先,先稍微了解系统调用的概念: 系统调用,英文名system call,每个操作系统都在内核里有一些内建的函数库,这些函数可以用来完成一些系统系统调用把应用程序的请求传给内核,调用相应的的内核函数完 ...

  6. linux 带缓存的fwrite,文件IO编程之(六):基于流缓冲 fopen,fwrite,fput

    标准IO开发 前面分析的文件IO编程都是基于文件描述符的.这些都是基本的IO控制,是不带缓存的. 这里要讨论的IO操作是基于流缓冲的,它是符合ANSIC的标准IO处理. 标准IO提供流缓冲的目的是尽可 ...

  7. UNIX不带缓存的IO函数

    大多数UNIX文件I/O操作只需用到5个函数:open.read.write.lseek.close,上述五个函数经常被称为不带缓存的I/O:不带缓存指的是每个read和write都调用内核中的一个系 ...

  8. STM8单片机ADC带缓存的连续采样模式

      在上一篇文章中说了STM8的ADC连续采样模式,为了提高采样的精度和速率,STM8单片机还提供了带缓存的连续采样模式,也就是说ADC会连续采集8个数据,放在缓存中,读取数据时可以一次从缓存中读取8 ...

  9. STM8 ADC转换模式-------带缓存的连续模式

    STM8单片机ADC支持5种转换模式:单次模式,连续模式,带缓存的连续模式,单次扫描模式,连续扫描模式. 连续和带缓存的连在连 换模式中,将ADC设为连续模式,该模式是通过置位 ADC_CR1寄存器的 ...

  10. CodeIgniter 框架自带缓存功能使用

    CodeIgniter自带缓存功能使用 准备: 自己写一个缓存的类,存放在libraries中 class My_cache{private $ci;public function __constru ...

最新文章

  1. 工业机器人发展现状:硬件制造大同小异,视觉感知绘新蓝图
  2. EFCore+MSSS CodeFirst多对多设计初体验
  3. 基于Python Tornado的在线问答系统
  4. 『Go 语言底层原理剖析』文末送书
  5. 【英语学习】【Daily English】U12 E-World L01 Do you have Wi-Fi here?
  6. emf建模要小心连线循环指向的问题
  7. Linux技术研究-基础篇(启动和自动挂载)
  8. java判断字符串是json_java中如何判断字符串是否为json格式
  9. [转载] 使用Python在ArcGIS中编程杂谈
  10. Bootstrap 模态框(Modal)插件
  11. oracle数据表通过使用SYS_GUID()自动生成唯一主键
  12. python取整数部分语句_pythonlogi中不使用条件语句的整数取整
  13. 智慧能源管理系统解决方案
  14. 如何对网站服务器进行安全防护
  15. 英文论文sci参考文献格式
  16. 30岁开始学编程晚吗?
  17. dsp6657的helloworld例程测试-第二篇-CFG文件
  18. Mac Office启动报错:隐藏模块中出现编译错误:link
  19. 如何查看OpenAI的api-key?
  20. Jetson嵌入式系列模型部署-1

热门文章

  1. 威盾VIACONTROL远程监控注册机及试用手记
  2. Jmater (十九) 分布式测试(性能测试大并发、远程启动解决方案)
  3. Python_代码练习_写一个判断是否为小数的函数
  4. css伪元素研究(::before/::after)
  5. 2016保持谦卑,继续前行
  6. 写给笨人的法线贴图原理 【转】
  7. 删除和修改nbsp;预留nbsp;:BAPI_RESERVATI…
  8. 推荐12个漂亮的CSS3按钮实现方案
  9. mysql插入用户 5.7_mysql 5.7 用户添加与权限管理
  10. 拓端tecdat|R语言自适应平滑样条回归分析