不管是文件读写还是网络发送接收,信息的最小存储单元都是字节,那为什么I/O流操作要分字节流操作和字符流操作呢? 字符流是由JVM将字节转换得到的,所以这个过程还是非常耗时的,同样假如我们不知道编码方式就很容易出现乱码的问题,所以I/O流就干净利索的提供了一个直接操作字符的接口,方便我们平时对字符进行流操作.当然图片和音频这些文件我们还是用字节流比较好.涉及到字符的我们就使用字符流比较好.…
作业解析 阐述BufferedReader和BufferedWriter的工作原理, 是否缓冲区读写器的性能恒大于非缓冲区读写器的性能,为什么,请举例说明? 答: BufferedReader对Reader类进行了装饰,即在成员变量中声明一个Reader成员变量,在构造时将该成员变量进行初始化,BufferedReader在读取文件时,将读取到的数据存储在字符数组中,下一次读取时,从字符数组中取出对应的数据,避免对物理文件的频繁访问:BufferedWriter对Writer类进行了装饰,在写入…
20.01_IO流(IO流概述及其分类) 1.概念 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流,输出流. 流按操作类型分为两种: 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的 字符流 : 字符流只能操作纯字符数据,比较方便. 2.IO流常用父类 字节流的抽象父类: InputStream OutputStream 字符流的抽象父类: Reader Writer 3.IO程序…
一.啥是I/O 概念:I/O为输入,输出流的统称,流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象. 本质:本质是数据传输,即数据在两设备间的传输称为流,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. 分类: 根据处理数据类型的不同分为: 字符流[字符流以字符为单位,且只能处理字符类型的数据] 字节流[字节流以字节(8bit)为单位,能处理所有类型的数据(如图片.avi等)] 根据数据流向不同分为: 输入流[只能进行读操作] 输出流[只能进行写操作] 结构导图:…
一.File类的使用  由于file类是一个基础类,所以我们从file类开始了解.(SE有完善的中文文档,建议阅读) 构造器: 常用方法:——完整方法请参见API API API!!! File做的是面上的事——文件的新建.删除.重命名等.有关文件内容的操作,需要流来进行,所以,它经常作为形参. 文件名: 测试文件: 测试代码: @Test public void test1() { // 通过绝对路径创建File对象——对应一个文件或者文件夹 File file = new File("D:\…
JAVAIO如果按流向分:输入流和输出流两种 输入流的基类:InputStream   Reader 输出流的基类:OutputStream   Writer 如果按数据单元划分:字节流和字符流 字节流输入输出的基类:InputStream  OutputStream 字符流输入输出的基类:Reader   Writer 字节流复制文件内容 public static void main(String[] args) { //字节流复制文件内容 InputStream io=null; Outp…
前面介绍了文件的信息获取.管理操作,以及目录下的文件遍历,那么文件内部数据又是怎样读写的呢?这正是本文所要阐述的内容.File工具固然强大,但它并不能直接读写文件,而要借助于其它工具方能开展读写操作.对于写操作来说,需要通过文件写入器FileWriter搭配File工具才行.创建写入器对象的过程很简单,只要在调用FileWriter的构造方法时传递文件对象即可,接着就能调用写入器的下列方法向文件写入数据了.write:往文件写入字符串.注意该方法存在多个同名的重载方法.append:也是往文件写…
本文已经收录自 JavaGuide (59k+ Star):[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. 1. 面向对象和面向过程的区别 面向过程 :面向过程性能比面向对象高. 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机.嵌入式开发.Linux/Unix等一般采用面向过程开发.但是,面向过程没有面向对象易维护.易复用.易扩展. 面向对象 :面向对象易维护.易复用.易扩展. 因为面向对象有封装.继承.多态性的特…
本文已经收录进我的 79K Star 的 Java 开源项目 JavaGuide:https://github.com/Snailclimb/JavaGuide (「Java学习+面试指南」一份涵盖大部分Java程序员所需要掌握的核心知识.) 相关阅读:完结撒花!Github接近80K点赞的Java面试指南来啦! 大家好,我是 Guide 哥,一个三观比主角还正的技术人. 两个星期前,我和我的好朋友决定做一系列的 Java 知识点常见重要问题的小册.小册的标准就一个,那就是:取精华,取重点.每一…
前言 回首来看2020年,真的是印象中过的最快的一年了,真的是时间过的飞快,还没反应过来年就夸完了,相信大家也已经开始上班了!俗话说新年新气象,马上就要到了一年之中最重要的金三银四,之前一直有粉丝要求我整理一些java岗的面试题,年前一直没时间,这次趁着元旦节给大家整理了一些一线互联网公司java岗面试题主要是Java基础+多线程+集合+JVM,满满的干货放在下面了!内容有点多,大家可以挑选自己需要的部分看! Java 语⾔有哪些特点? 简单易学: ⾯向对象(封装,继承,多态): 平台⽆关性(…