I/O(输入/输出)---字节流与字符流
流:
分为输入流和输出流,输入/输出是相对计算机内存来说的,数据输入到内存是输入流,数据从内存中输出是输出流。
流对象构造的时候会和数据源联系起来。
数据源分为:源数据源和目标数据源。输入流联系的是源数据源,输出流联系的是目标数据源。
按流向划分:
输入流:InputStream和Read
输出流:OutputStream和Write
输入流和输出流又分为字节流和字符流:
按处理数据单元划分:
字节流:InputStream和OutputStream。字节流是8位的通用字节流,基本单位是字节。
---子类FileInputStream和FileOutputStream。文件输入/输出流。
字符流:Read和Write。字符流是16位的Unicode字符流,基本单位是Unicode字符。适合处理字符串和文本。
---子类FileReader和FileWrite。文件输入/输出流。
缓冲流:BufferedReader和BufferedWrite.也是Read和Write的子类。
缓冲流主要作用:提高输入输出的效率。
原理;
1,使用流的read方法从源中读取一批数据存储到缓冲区的数组中。
2,通过计数器记录住存储的元素个数。
3,通过数组的角标来获取数组中的元素(从缓冲区中取数据).
4,指针会不断的自增,当增到数组长度,会归0.计数器会自减,当减到0时,就在从源拿一批数据进缓冲区。
package cn.itcast.p2.io.filewriter;import java.io.FileWriter; import java.io.IOException; //字符输出流//需求:将一些文字存储到硬盘一个文件中。public class FileWriterDemo {//平台独立的换行符。private static final String LINE_SEPARATOR = System.getProperty("line.separator"); public static void main(String[] args) throws IOException {//创建一个可以往文件中写入字符数据的字符输出流对象。/** 既然是往一个文件中写入文字数据,那么在创建对象时,就必须明确该文件(用于存储数据的目的地)。* * 如果文件不存在,则会自动创建。* 如果文件存在,则会被覆盖。* * 如果构造函数中加入true,可以实现对文件进行续写!*/FileWriter fw = new FileWriter("demo.txt",true);/** 调用Writer对象中的write(string)方法,写入数据。 * * 其实数据写入到临时存储缓冲区中。* */fw.write("abcde"+LINE_SEPARATOR+"hahaha"); // fw.write("xixi");/** 进行刷新,将数据直接写到目的地中。*/// fw.flush();/** 关闭流,关闭资源。在关闭前会先调用flush刷新缓冲中的数据到目的地。*/fw.close();// fw.write("haha");// java.io.IOException: Stream closed }}
未完,待补充。。。
转载于:https://www.cnblogs.com/fifiyong/p/6006014.html
I/O(输入/输出)---字节流与字符流相关推荐
- Java学习总结:42(字节流和字符流)
字节流与字符流 上一节我们学习了文件操作类File,但是File类虽然可以操作文件,但是却不能操作文件的内容.如果要进行文件内容的操作,就必须依靠流的概念来完成.流在实际中分为输入流和输出流两种,输入 ...
- 面试避坑手册之 Java字节流和字符流总结IO流!
从接收输入值说起 在日常的开发应用中,有时候需要直接接收外部设备如键盘等的输入值,而对于这种数据的接收方式,我们一般有三种方法:字节流读取,字符流读取,Scanner 工具类读取. 字节流读取 直接看 ...
- 字节流与字符流基本操作
在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据时要使用输入流读取数据,当程序需要将一些数据保存起来,就要使用输出流. java.io包中流的操作主要有字节流,字符流两大类,两大类都有输 ...
- java.IO字节流和字符流详解
IO流的分类 在学习字节流和字符流之前因该先学习IO流的分类,效果会更好 有多种分类方式: 一种方式是按照流的方向进行分类: 以内存作为参照物, 往内存中去,叫做输入(Input).或者叫做读(Rea ...
- 1.8 Java字节流和字符流的区别,如何区分输入流和输出流?
Java字节流和字符流的区别 首先我们先大概总结一下前面学习的内容,可分为以下几点: 以 Stream 结尾都是字节流,Reader 和 Writer 结尾都是字符流. InputStream 是所有 ...
- 字节流转化为文件流_JAVA IO分析一:File类、字节流、字符流、字节字符转换流...
因为工作事宜,又有一段时间没有写博客了,趁着今天不是很忙开始IO之路:IO往往是我们忽略但是却又非常重要的部分,在这个讲究人机交互体验的年代,IO问题渐渐成了核心问题. 一.File类 在讲解File ...
- java byte char io流_吃透Java IO:字节流、字符流、缓冲流
前言有人曾问fastjson的作者(阿里技术专家高铁):"你开发fastjson,没得到什么好处,反而挨了骂背了锅,这种事情你为什么要做呢?" 高铁答道:"因为热爱本身, ...
- 四十、Java中字节流和字符流介绍和区别
@Author:Runsen @Date:2020/6/6 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...
- 复习Java字节流_字符流使用及案例
字节流_字符流 主要内容 IO流 字节流 字符流 异常处理 Properties 第一章 IO概述 1.1 什么是IO 生活中,你肯定经历过这样的场景.当你编辑一个文本文件,忘记了ctrl+s ,可能 ...
- JavaSE——IO(上)(File、字节流、字符流、转换流、打印流、缓存流)
第3节 IO(上) 一.File类与文件基本操作 在程序中经常需要用到文件的操作,Java有专门的类来进行文件的操作--File类. 1.1 File类概述 它是对文件和目录路径名的抽象表示. 即它本 ...
最新文章
- LeetCode-笔记-57.插入区间
- 还在使用 SimpleDateFormat?你的项目崩没?
- 服务器文件嗅探,嗅探TFTP配置文件传输
- 电子测量与仪器第二次作业
- That assembly does not allow partially trusted callers.
- 你的 Docker 应用是安全的吗?
- leetcode 岛屿的个数
- Spring精华问答 | Spring Boot有哪些优点?
- java 多线程日志_多线程 打印的日志出现重复行
- 人工智能的主要研究领域
- 局域网 广域网 IP TCP UDP
- 微服务+异步工作流+Serverless,Netflix 决定弃用稳定运行7年的旧平台
- amd cpu排行_amd cpu性能排行图_笔记本CPU性能排行天梯图-2012最新笔记本CPU天梯图...
- 高校邮箱账号盗用监控及钓鱼邮件检测-上海交通大学
- WorkFlow:BPMN 2.0介绍(一):参与者(Participant)
- 终于有人把 p 值讲明白了!
- Mysql8.0和Mysql5.0访问jdbc连接
- jquery验证手机号码和固定电话号码
- ios 应用中直接跳转到指定app页面 或者 app 评价页面 的方法
- JFlow工作流 流程与表单案例
热门文章
- arcgis导出地图分辨率多少合适_地图册制作:ArcGIS分幅制图——以深圳地铁线路图为例...
- c语言程序设计cspn,Null-terminated wide strings
- 刷题进阶 -- 剑指Offer、力扣算法题
- Maven项目中,jar包版本冲突导致运行时报错的问题
- java读取redis数据_Java连接redis操作数据
- sql server代理无法启动_DungProxy代理资源服务系统,
- PostgreSQL 11 preview - Faster partition pruning
- MongoDB Database Profiling
- 使用jxls技术导入Excel模版数据(转自其他博客)
- STM32 ucosii 串口接收数据 遇到的问题及解决思路