IO流主要的分类方式有以下3种:

  1. 按数据流的方向:输入流、输出流
  2. 按处理数据单位:字节流、字符流
  3. 按功能:节点流、处理流

1.File类

通过调用File类提供的各种方法,能够创建、删除或者重命名文件,判断硬盘上某个文件是否纯在,查询文件最后修改时间等。

File类的构造方法:

 

在Windows中目录符号为反斜线 " \",但在Java中反斜线" \"表示转义符,所以在Java中表示目录符号为 “ \\ ”,或者用正斜线 “ / ”

File类的常用方法:

遍历目录下的文件

File类的list()方法用于遍历指定目录下的所有文件夹

2.字节流

为字节的输入/输出( l/o )流提供的一系列的流,统称为字节流,字节流是程序中最常用的流,根据数据的传输方向可将其分为字节输入流和字节输出流。

字节流的顶级父类是两个抽象类InputStream和OutputStream

InputStream的常用方法:

OutputStream的常用方法:

 

3.字符流

与字节流类似,字符流也有两个抽象类,分别是字符输入流Reader和字符输出流Writer。其他的字符流实现类都是继承了这两个类。

字符输入流Reader主要方法:

read():读取单个字符。
read(char[] cbuf) :将字符读入数组。
read(char[] cbuf, int off, int len) : 将字符读入数组的某一部分。
read(CharBuffer target) :试图将字符读入指定的字符缓冲区。
flush() :刷新该流的缓冲。
close() :关闭此流,但要先刷新它。

字符输出流Writer主要方法:

write(char[] cbuf) :写入字符数组。
write(char[] cbuf, int off, int len) :写入字符数组的某一部分。
write(int c) :写入单个字符。
write(String str) :写入字符串。
write(String str, int off, int len) :写入字符串的某一部分。
flush() :刷新该流的缓冲。
close() :关闭此流,但要先刷新它。
另外,字符缓冲流还有两个独特的方法:

4.位、字节、字符

字节(Byte)是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位。

字符(Character)计算机中使用的字母、数字、字和符号,比如’A’、‘B’、’$’、’&'等。

一般在英文状态下一个字母或字符占用一个字节,一个汉字用两个字节表示。

字节与字符:

ASCII 码中,一个英文字母(不分大小写)为一个字节,一个中文汉字为两个字节。
UTF-8 编码中,一个英文字为一个字节,一个中文为三个字节。
Unicode 编码中,一个英文为一个字节,一个中文为两个字节。
符号:英文标点为一个字节,中文标点为两个字节。例如:英文句号 . 占1个字节的大小,中文句号 。占2个字节的大小。
UTF-16 编码中,一个英文字母字符或一个汉字字符存储都需要 2 个字节(Unicode 扩展区的一些汉字存储需要 4 个字节)。
UTF-32 编码中,世界上任何字符的存储都需要 4 个字节。

L/O(输出/输入)相关推荐

  1. 1041: 助推-滑翔弹道(钱学森弹道)(1级)输入一个正整数,表示滑翔总距离L。输出中程导弹的升阻比,结果保留0位小数。提示:可以用“%.0f”输出结果。

    1041: 助推-滑翔弹道(钱学森弹道)(1级) 时间限制: 1 Sec 内存限制: 128 MB 提交: 60 解决: 28 [提交] [状态] [讨论版] [命题人:admin] 题目描述 截至2 ...

  2. Linux系统中输出输入的管理

    1.什么是输入和输出 输入和输出是计算机系统中的主机与外部进行通信的系统.它由外围设备和输入输出控制系统两部分组成,我们在shell中键入指令,然后送入CPU中运算产生结果,再将结果送到字符设备中显示 ...

  3. 【Python】【Jupyter】Jupyter 的简单使用 与 Python的基本输出输入

    上课无聊写着玩的,不必当真. Jupyter 的简单使用 与 Python的基本输出输入 目录 Jupyter 的简单使用 与 Python的基本输出输入 数据准备 输出 输入 一些练习 print( ...

  4. C语言-第3章-格式化输出\输入

    文章目录 3.1 输出函数printf 3.1.1 细化的转换说明 3.1.2 转义序列 3.1.3 printf常见问题 3.2 输入函数scanf 3.2.1 scanf函数的工作过程 3.2.2 ...

  5. 基石为勤能补拙的迷宫之旅——第三天(Python基本数据类型,与用户交互(输出输入),运算符)

    一. 基本数据类型 为何数据要区分类型?     数据类型值的是变量值的类型,变量值之所区分类型,是因为变量值是用来记录事物状态的,而事物的状态有不同的种类,对应着,也必须使用不同类型的值去记录它们. ...

  6. 输入一组整数,0结束输入,之后输出输入的最大的和最小的整数.【思路】

    package com.ykmimi.new1; /*** 输入一组整数,0结束输入,之后输出输入的最大的和最小的整数.*/ import java.util.Scanner;public class ...

  7. unix/linux命令“ls -l”选项输出结果详解

    from: http://hi.baidu.com/hoxily/item/12e2a02d03f77e0942634a8e unix/linux命令"ls -l"选项输出结果详解 ...

  8. oracle在哪里输入,Oracle数据库输出输入

    输出输入 输出语法dbms_output.put_line(输出内容)begin //输出并换行 dbms_output.put_line('你好'||"张三"); //不换行 d ...

  9. 面试题数组L型输出思路

    面试题: var arr = [[1,2,3],[4,5,6],[7,8,9] ] // 数组L型输出 输出顺序为 1 4 7 8 9 2 5 6 3 // 相当于根据 arr数组创建一个值为[1,4 ...

  10. oracle输出数据,Oracle数据库输出输入

    输出输入输出语法dbms_output.put_line(输出内容) begin //输出并换行 dbms_output.put_line('你好'||"张三"); //不换行 d ...

最新文章

  1. ACL 2019年度回顾:自然语言处理发展趋势
  2. AOC的显示器真的很烂
  3. python编程100例头条-今日头条python面试题之编程篇
  4. 转载:浅谈软件测试流程
  5. 卡尔曼滤波---实例讲解
  6. 嵌套 思维导图_Python 这方面,8张思维导图助你转身变大牛!
  7. 关于编译Lambda时报告返回的为void的错误
  8. 《设计模式》-模板模式
  9. Ajax 文件上传之PHP心得
  10. mysql如何进行单表的数据添加
  11. 数学建模论文写作要求
  12. 单向可控硅的工作原理
  13. 组装服务器怎么做阵列,怎么做服务器的磁盘阵列
  14. 【云计算的1024种玩法】搭建个人博客
  15. php写火车头采集接口,的这个火车头采集接口我在火车头采集规则里已经写了采集时间的规,迅睿CMS,CodeIgniter技术文档,PHP开发文档,迅睿CMS框架官方教程...
  16. 虚拟串口软件:VSPD的使用
  17. 诗人海子与互联网的辩证法
  18. 虚拟机ifconfig或ip addr不显示ip地址
  19. vue修饰符--可能是东半球最详细的文档(滑稽)
  20. [系统安全] 二.如何学好逆向分析及吕布传游戏逆向案例

热门文章

  1. C语言基于链表的学生管理系统,超详细
  2. QFPnbsp;PQFPnbsp;LQFPnbsp;TQFP封装形式及PCB…
  3. 简单的签到代码_太神了吧!打开浏览器的一瞬就自动签到,经验积分礼物全到手...
  4. Typora自定义主题样式
  5. 信捷plc和台达变频器通信程序通过信捷xc3的modbus通信控制台达vfd-m变频器的正转,反转,加减速,停止
  6. [转载]2016最流行的Android组件、工具、框架大全
  7. ubuntu下解决“无法获得锁 ”的方法
  8. 【小5聊】C# SignalR之主动推送信息的简单解决方案
  9. java流方式读取Excel数据
  10. 在vue种使用高德地图