流:

  分为输入流和输出流,输入/输出是相对计算机内存来说的,数据输入到内存是输入流,数据从内存中输出是输出流。

  流对象构造的时候会和数据源联系起来。

  数据源分为:源数据源和目标数据源。输入流联系的是源数据源,输出流联系的是目标数据源。

  按流向划分:

  输入流: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(输入/输出)---字节流与字符流相关推荐

  1. Java学习总结:42(字节流和字符流)

    字节流与字符流 上一节我们学习了文件操作类File,但是File类虽然可以操作文件,但是却不能操作文件的内容.如果要进行文件内容的操作,就必须依靠流的概念来完成.流在实际中分为输入流和输出流两种,输入 ...

  2. 面试避坑手册之 Java字节流和字符流总结IO流!

    从接收输入值说起 在日常的开发应用中,有时候需要直接接收外部设备如键盘等的输入值,而对于这种数据的接收方式,我们一般有三种方法:字节流读取,字符流读取,Scanner 工具类读取. 字节流读取 直接看 ...

  3. 字节流与字符流基本操作

    在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据时要使用输入流读取数据,当程序需要将一些数据保存起来,就要使用输出流. java.io包中流的操作主要有字节流,字符流两大类,两大类都有输 ...

  4. java.IO字节流和字符流详解

    IO流的分类 在学习字节流和字符流之前因该先学习IO流的分类,效果会更好 有多种分类方式: 一种方式是按照流的方向进行分类: 以内存作为参照物, 往内存中去,叫做输入(Input).或者叫做读(Rea ...

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

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

  6. 字节流转化为文件流_JAVA IO分析一:File类、字节流、字符流、字节字符转换流...

    因为工作事宜,又有一段时间没有写博客了,趁着今天不是很忙开始IO之路:IO往往是我们忽略但是却又非常重要的部分,在这个讲究人机交互体验的年代,IO问题渐渐成了核心问题. 一.File类 在讲解File ...

  7. java byte char io流_吃透Java IO:字节流、字符流、缓冲流

    前言有人曾问fastjson的作者(阿里技术专家高铁):"你开发fastjson,没得到什么好处,反而挨了骂背了锅,这种事情你为什么要做呢?" 高铁答道:"因为热爱本身, ...

  8. 四十、Java中字节流和字符流介绍和区别

    @Author:Runsen @Date:2020/6/6 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...

  9. 复习Java字节流_字符流使用及案例

    字节流_字符流 主要内容 IO流 字节流 字符流 异常处理 Properties 第一章 IO概述 1.1 什么是IO 生活中,你肯定经历过这样的场景.当你编辑一个文本文件,忘记了ctrl+s ,可能 ...

  10. JavaSE——IO(上)(File、字节流、字符流、转换流、打印流、缓存流)

    第3节 IO(上) 一.File类与文件基本操作 在程序中经常需要用到文件的操作,Java有专门的类来进行文件的操作--File类. 1.1 File类概述 它是对文件和目录路径名的抽象表示. 即它本 ...

最新文章

  1. LeetCode-笔记-57.插入区间
  2. 还在使用 SimpleDateFormat?你的项目崩没?
  3. 服务器文件嗅探,嗅探TFTP配置文件传输
  4. 电子测量与仪器第二次作业
  5. That assembly does not allow partially trusted callers.
  6. 你的 Docker 应用是安全的吗?
  7. leetcode 岛屿的个数
  8. Spring精华问答 | Spring Boot有哪些优点?
  9. java 多线程日志_多线程 打印的日志出现重复行
  10. 人工智能的主要研究领域
  11. 局域网 广域网 IP TCP UDP
  12. 微服务+异步工作流+Serverless,Netflix 决定弃用稳定运行7年的旧平台
  13. amd cpu排行_amd cpu性能排行图_笔记本CPU性能排行天梯图-2012最新笔记本CPU天梯图...
  14. 高校邮箱账号盗用监控及钓鱼邮件检测-上海交通大学
  15. WorkFlow:BPMN 2.0介绍(一):参与者(Participant)
  16. 终于有人把 p 值讲明白了!
  17. Mysql8.0和Mysql5.0访问jdbc连接
  18. jquery验证手机号码和固定电话号码
  19. ios 应用中直接跳转到指定app页面 或者 app 评价页面 的方法
  20. JFlow工作流 流程与表单案例

热门文章

  1. arcgis导出地图分辨率多少合适_地图册制作:ArcGIS分幅制图——以深圳地铁线路图为例...
  2. c语言程序设计cspn,Null-terminated wide strings
  3. 刷题进阶 -- 剑指Offer、力扣算法题
  4. Maven项目中,jar包版本冲突导致运行时报错的问题
  5. java读取redis数据_Java连接redis操作数据
  6. sql server代理无法启动_DungProxy代理资源服务系统,
  7. PostgreSQL 11 preview - Faster partition pruning
  8. MongoDB Database Profiling
  9. 使用jxls技术导入Excel模版数据(转自其他博客)
  10. STM32 ucosii 串口接收数据 遇到的问题及解决思路