IO流之节点流(字符流)和数据流关闭
输入流----Reader
1 public class Reader {
2 public static void main(String[] args) throws Exception {
3 //获取字符输入流的地址
4 FileReader reader = new FileReader("D:\\reader.txt");
5 //定义读取到的长度
6 int len = 0;
7 //一次读取到的数据长度
8 char[] c = new char[4];
9 //len=reader.read(c)从reader.read(c)读取到的长度
10 while ((len=reader.read(c))!=-1){
11 for (char i : c){
12 System.out.println(i);
13 }
14 }
15 }
16 }

由于数组一次读取四个,读取最后一次时字符数组内只有党更新了,国共产还是上一次的数据,最后一次理应只有党输出
解决上述问题
1 while ((len=reader.read(c))!=-1){
2 for (int i=0;i<len;i++){//i<len,len从reader.read(c)内读取的长度
3 System.out.println(c[i]);
4 }
5 }
输出流----Writer
Writer-----不关闭,数据不出现
流的关闭
.flush()-----将最后一点数据放进文件()
.close()-----关闭流
输入输出流就像一个人瓶子通过吸管向另一个瓶子滴水,当第一个瓶子里的水滴完后,水并不能完全到另一个瓶子里,吸管里还有一些水,此时就需要通过.flush()将吸管里的水全部赶到杯子里,然后通过.close()关闭流
程序中打开的文件IO流资源不属于内存中的资源,垃圾回收机制无法回收,需要手动关闭
IO流之节点流(字符流)和数据流关闭的更多相关文章
- Java基础(八)——IO流1_字节流、字符流
一.概述 1.介绍 I/O是 Input/Output 的缩写,IO流用来处理设备之间的数据传输,如读/写文件,网络通讯等.Java对数据的操作是通过流的方式进行.java.io 包下提供了各种&qu ...
- IO流(二)字符流
1.字符流:在字节流的基础上添加了编码机制.很大程度上和字节流操作一样的,字符流只能操作文本类文件,准确的说应该是纯文本类文件.例如.txt,.java,.cpp,.html等 编码:每一个国家都有自 ...
- IO流总结---- 字节流 ,字符流, 序列化 ,数据操作流,打印流 , Properties 集合
笔记内容: 什么是流 字节流 字符流 序列化 数据操作流(操作基本数据类型的流)DataInputStream 打印流 Properties 集合 什么是流: 流是个抽象的概念,是对输入输出设备的抽象 ...
- IO流(字节流,字符流)
一,概述 IO流(input output):用来处理设备之间的数据. Java对数据的操作是通过流的对象. Java用于操作流的对象都在IO包中. 流是一组有顺序的,有起点和终点的字节集合,是对数据 ...
- JavaSE学习笔记(14)---File类和IO流(字节流和字符流)
JavaSE学习笔记(14)---File类和IO流(字节流和字符流) File类 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 构造方 ...
- Java IO(十二) 字符流 Writer 和 Reader
Java IO(十二) 字符流 Reader和 Writer 一.介绍 涉及到文件(如果是纯文本文件形式)操作时,Java除了提供 FIle(文件和目录路径名的抽象表示形式) 和 FileDescri ...
- 【C#IO 操作】stream 字节流|字符流 |比特流
stream的简介 Stream 所有流的抽象基类. 流是字节序列的抽象,例如文件.输入/输出设备.进程中通信管道或 TCP/IP 套接字. Stream类及其派生类提供这些不同类型的输入和输出的一般 ...
- java 笔记(4) —— java I/O 流、字节流、字符流
Java中使用流来处理程序的输入和输出操作,流是一个抽象的概念,封装了程序数据于输入输出设备交换的底层细节.JavaIO中又将流分为字节流和字符流,字节流主要用于处理诸如图像,音频视频等二进制格式数据 ...
- javaIO流(二)--字节流与字符流
一.流的基本概念 在java.io包中,File类是唯一一个与文件本身有关的程序处理类,但是File类只能操作文件本身,而不能操作文件内容,IO操作的核心意义在于输入和输出操作.而对于程序而言,输入和 ...
- IO流(4)—字符流
1.IO体系: 抽象基类 --节点流(文件流) InputStream -- FileInputStream OutputStream --FileOutputSteam Reader --FileR ...
随机推荐
- 【NX二次开发】设置了“附加包含目录”,还是提示“无法打开包括文件”的解决方法
项目属性中的"附加包含目录"路径完全正确,但是还是无法找到头文件: 这个问题我遇到过不止一次,纠结了很久,终于发现了解决方法: 改为: 问题解决! 分析原因:项目中的属性配置 与 ...
- 有模有样解决Flutter里Webview无法访问HTTP页面的问题
探索过程 Android9(好像是吧)开始谷歌就默认不让开发者访问不安全HTTP内容了,如果非要用HTTP,那必须在networkSecurityConfig里配置cleartextTrafficPe ...
- 15.3、mysql之InnoDB和MyISAM表空间详解
15.3.1.InnoDB引擎表空间: 1.表空间分类: 共享表空间: 某一个数据库的所有的表数据,索引文件全部放在一个文件中,默认这个共享表空间的文件路径在 data目录下. 默认的文件名为:ibd ...
- Flex中利用事件机制进行主程序与子窗体间参数传递
在开发具有子窗体,或者itemrenderer的应用时,常常涉及到子窗体向父窗体传递参数或者从itemrenderer内的控件向外部的主程序传递参数的需求.这些都可以通过事件机制这一统一方法加以解决. ...
- Python中任务队列-芹菜celery的使用
一.关于celery 芹菜celery是一个python实现的异步任务队列,可以用于爬虫.web后台查询.计算等等.通过任务队列,当一个任务来临时不再傻傻等待. 他的架构如下: Broker 我们的生 ...
- Mysql Limit 调优
建表与插入数据 SQL对比 基本数据 创建表 CREATE TABLE student ( id int(10) NOT NULL AUTO_INCREMENT, name varchar(25) D ...
- com.rabbitmq.client.impl.Frame.readFrom(Frame.java:95)
RabbitMQ 基于Erlang 实现, 客户端可以用Python | Java | Ruby | PHP | C# | Javascript | Go等语言来实现.这里做个java语言的测试.首先 ...
- SpringBoot中如何监听两个不同源的RabbitMQ消息队列
spring-boot如何配置监听两个不同的RabbitMQ 由于前段时间在公司开发过程中碰到了一个问题,需要同时监听两个不同的rabbitMq,但是之前没有同时监听两个RabbitMq的情况,因此在 ...
- XCTF logmein
一.查壳 发现是64位的Linux文件(ELF可以看出是linux的文件) 二.拖入ida64,静态分析 注意这里两个坑: 1.strcpy是复制字符串的意思,前面定义的v8数组只有8个,但是后面的字 ...
- 使用Hugo框架搭建博客的过程 - 前期准备
前言 这篇教程介绍了如何搭建这样效果的博客. 所需步骤 可以从这样的角度出发: 注册域名. 使用CDN加快网站访问速度. 网站内容需要部署在服务器或对象存储平台上. 重要的是放什么内容.博客需要选择框 ...