java.io包详细解说】的更多相关文章

转自:http://hzxdark.iteye.com/blog/40133 hzxdark的博客 我不知道各位是师弟师妹们学java时是怎样的,就我的刚学java时的感觉,java.io包是最让我感到一头雾水的.所以现在这篇文,尽可能简单地描述java.io包的结构,希望对java.io同样一头雾水的师弟师妹们有些帮助^_^ 我开始学java时,java.io的介绍是在<java编程思想>里看的.说实话,当时完全看不明白——“java.io的是用‘decorator模式’来构建的”——刚学j…
接着上篇文章,本篇继续说java.io包中的字节流.按照前篇文章所说,java.io包中的字节流中的类关系有用到GoF<设计模式>中的装饰者模式,而这正体现在FilterInputStream和FilterOutputStream和它的子类上,我们这篇就来看一看. 0. FilterInputStream和FilterOutputStream 首先,这两个都分别是InputStream和OutputStream的子类.而且,FilterInputStream和FilterOutputStrea…
1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分 类,按功能分为:(C),如果为读取的内容进行处理后再输出,需要使用下列哪种流?(G)   A.输入流和输出流 B.字节流和字符流 C.节点流和处理流   D.File stream E.Pipe stream F.Random stream G.Filter stream…
1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读写数据的标准方法.任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法. Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO. 流IO的好处是简单易用,缺点是效率较低.块IO效率很高,但编程比较…
如java.io.LineNumberInputStream(deprecated),是装饰模式(decorate)的实现: 如java.io.OutputStreamWriter,是适配器模式(adapter)的实现: 引用知乎海纳老师的说法,这样看java.io包中的类的名称就能大概知道使用方法了: Adaptor所要解决的问题是适配,它的目的在于接口的转换. 而Proxy恰恰相反,它的目的在于保持接口不变,而改变接口定义的方法的行为. 代理的示意图: 海纳老师课程学习: 1.“我们能不使用…
https://mp.weixin.qq.com/s/-bj71dBylRHRqiPorOpVyg 原创: 李立敏 Java识堂 3月10日 有一个卖煎饼的店铺找上了你,希望你能给她们的店铺开发一个收银系统,已知一个煎饼的价格是8元,一个鸡蛋的价格是1元,一根香肠的价格是2元. 你二话不说写出了如下代码 // 煎饼类public class Battercake {     protected String getDesc() {        return "煎饼";    }   …
原文链接:java.io包的总体框架图, 便于记忆!…
I/O流概述 在 Java 中,把不同类型的输入.输出源抽象为流(Stream),而其中输入或输出的数据则称为数据流(Data Stream),用统一的接口表示,从而使程序设计简单明了.流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. 字节流基类 字节流主要操作byte类型数据,以byte数组为准,java 中每一种字节流的基本功能依赖于基本类 InputStream…
Java里面文件的输入输出全部在java.io包里面. Java.io包里面所有的类都需要掌握. java.io包里面所有的东西都在上面了. 包里面的相关类.异常等树关系如下 类分层结构 java.lang.Object 对象的母类,所有对象都在这个类之下. java.io.Console (implements java.io.Flushable) 比如:从eclipse的控制台读取数据,不用eclipse基本没啥用. java.io.File (implements java.lang.Co…
一.基础知识: 1. Java IO一般包含两个部分:1)java.io包中阻塞型IO:2)java.nio包中的非阻塞型IO,通常称为New IO.这里只考虑到java.io包中堵塞型IO: 2. Java.io包简单地分类. 2.1 Java的IO主要包含三个部分: 1)流式部分――IO的主体部分: 2)非流式部分――主要包含一些辅助流式部分的类,如:File类.RandomAccessFile类和FileDescriptor等类: 3)文件读取部分的与安全相关的类,如:Serializab…
1.java io包File类, Java.io.File(File用于管理文件或目录: 所属套件:java.io)1)File对象,你只需在代码层次创建File对象,而不必关心计算机上真正是否存在对象文件. file类的几个常用方法:file.canRead() boolean ,file.canWrite() boolean,file.canExecute() boolean,file.createNewFile() boolean.(1)file.createNewFile() boole…
java.io 包下的类有哪些 + 面试题 IO 介绍 IO 是 Input/Output 的缩写,它是基于流模型实现的,比如操作文件时使用输入流和输出流来写入和读取文件等. IO 分类 传统的 IO,按照流类型我们可以分为: 字符流 字节流 其中,字符流包括 Reader.Writer:字节流包括 InputStream.OutputStream. 传统 IO 的类关系图,如下图所示: IO 使用 了解了 IO 之间的关系,下面我们正式进入实战环节,分别来看字符流(Reader.Writer)…
IO 无非读写 I --> Reader  O--> Writer 为了方便字符 或者 文本文件的 操作创造出了 字符流 尤其是 缓冲字符输入输出流(BufferedReader,BufferedWriter)   readLine 的方法 简直太好用了 而底层还是用的 字节流 尤其是 缓冲字节输入输出流(BufferedInputStream,BufferedOutput)   read(字符数组,offset,len) 的方法 简直太好用了 /** * I/O 流:I->Input…
Java的核心库java.io提供了全面的IO接口.包括:文件读写.标准设备输出等.Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入. 一.接口 1.Closeable 接口 自1.5开始有 无父类和接口 Closeable 是可以关闭的数据源或目标.调用 close 方法可释放对象保存的资源(如打开文件). 定义了关闭此流并释放与此流关联的所有系统资源的方法 void close(). 2.DataInput 接口 自1.0开始有 无父类和接口 DataI…
一.概念 java.io.File类:代表文件和目录. 在开发中,读取文件.生成文件.删除文件.修改文件的属性时经常会用到本类. 以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储. 在eclipse项目开发中,user.dir就是本项目的目录.因此,执行完毕后,在本项目和D盘下都生成了新的文件(如果是eclipse下,一定按F5刷新目录结构才能看到新文件).如图所示为:本项目目录中新增文件效果 [常用方法] [代码示例]…
Java.io.BufferedInputStream 类添加功能到另一个输入流,缓冲输入以及支持mark和reset methods.Following是关于缓冲输入流的要点: 当创建缓冲输入,创建一个内部缓冲区数组. 如从该流的字节被读出或跳过,内部缓冲器被再从包含的输入流,许多字节一次必要的. 类的声明 以下是java.io.BufferedInputStream类的声明: public class BufferedInputStream    extends FilterInputStr…
一:OutPutStream类: public abstract class OutputStream extends Object implements Closeable, Flushable 这个类是所有表示输出流的父类,所有继承这个类的子类都必须实现写的方法. 这个类中定义了close,flush,write方法 1.FileOutputStream : public class FileOutputStream extends OutputStream 这个类用来想文件中写入原生的数据…
IO所谓的四大抽象类就是:  InputStream.OutputStream.Reader.Writer…
DataInputStream 与 DataOutputStream 记事本默认会查编码表,可能会显示成这样 读取 ByteArrayInputStream 与 ByteArrayOutputStream 操作示例 PPT中后面两种数据操作方法和ByteArrayInputStream 与 ByteArrayOutputStream 是一样的…
EOFException Signals that an end of file or end of stream has been reached unexpectedly during input. This exception is mainly used by data input streams to signal end of stream. Note that many other input operations return a special value on end of…
一 Writer public abstract class Writer extends Object implements Appendable, Closeable, Flushable 这个类表示的是输入字符的输入流.然后这个类中有一个同步锁,用来同步这个流内的操作.然后就是这个流和FileInputStream不同的是,它提供了append的方法来实现追加. 然后也有flush,write,close的方法.然后就是既然可以写入字符,那其实也就是可以写入String了.因为这个类并不是…
1. 装饰者模式的详解 装饰者模式动态地将责任附加到对象上.若要扩展功能,装饰者提供了比继承更有弹性 的替代方案. 装饰者模式设计类之间的关系: 其 中Component是一个超类,ConcreteComponen是被装饰者,Decorator是装饰者,装饰者和被装饰者有共同的超类 Component,但是此时我们发现Decorator和Component还有另外一条线,这条线表示Decorator还要组合 Component. 在我看来装饰的模式中这几个类的主要作用如下: 首先我们看一个这样的…
File类 File类是java.io包中唯一对文件本身进行操作的类.它可以进行创建.删除文件等操作.   File类常用操作 (1)创建文件 可以使用 createNewFille() 创建一个新文件. 注意: Windows 中使用反斜杠表示目录的分隔符"\". Linux 中使用正斜杠表示目录的分隔符"/". 最好的做法是使用 File.separator 静态常量,可以根据所在操作系统选取对应的分隔符.   (2)删除文件 可以使用 delete() 删除一…
Java的IO类都在java.io包下,这些类大致可分为以下4种: 基于字节操作的 I/O 接口:InputStream 和 OutputStream 基于字符操作的 I/O 接口:Writer 和 Reader 基于磁盘操作的 I/O 接口:File 基于网络操作的 I/O 接口:Socket 1 IO类库的基本结构 1.1 基于字节操作的IO接口 基于字节操作的IO接口分别是InputStream和OutputStream,InputStream的类结构图如下所示: 同InputStream…
一.引子(概括地介绍Java的IO) 无论是哪种编程语言,输入跟输出都是重要的一部分,Java也不例外,而且Java将输入/输出的功能和使用范畴做了很大的扩充.它采用了流的 机制来实现输入/输出,所谓流,就是数据的有序排列,而流可以是从某个源(称为流源或Source of Stream)出来,到某个目的地(称为流汇或Sink of Stream)去的.由流的方向,可以分成输入流和输出流,一个程序从输入流读取数据向输出流写数据. 如,一个程序可以用FileInputStream类从一个磁盘文件读取…
有3个接口对于流类相当重要.其中两个接口是Closeable和Flushable,它们是在java.io包中定义的,并且是由JDK5添加的.第3个接口是AutoColseable,它是由JDK7添加的新接口,被打包到java.lang包中. AutoCloseable接口对JDK7新添加的带资源的try语句提供了支持,这种try语句可以自动执行资源关闭过程.只有实现了AutoCloseable接口的类的对象才可以由带资源的try语句进行管理.AutoCloseable接口只定义了close()方…
File类 ·java.io.File类:文件和目录路径名的抽象表示形式,与平台无关 ·File能新建.删除.重命名文件和目录,但File不能访问文件内容本身.如果需要访问文件内容本身,则需要使用输入/输出流 ·File对象可以作为参数传递给流的构造函数 ·File类的常见构造方法: public File(String pathname) 以pathname为路径创建File对象,可以是绝对路径或者相对路径,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储. p…
Java流的分类 1.输入/输出流 输入流:只能向其读数据,不能写. 输出流:只能向其写数据,不能读. 所谓的输入输出都是相对应用程序而言的. 2.字节流/字符流 单位不同,字节流操作8位,字符流操作16位,2倍关系. 3.节点流/处理流 按照流的角色来分的. 节点流:从/向特定的IO设备读/写的流,也称低级流. 处理流:对于一个已经存在的流进行连接或包装,通过包装后的流来实现读写功能,也称高级流. Java流概念模型 Java.io包里面有40多个类,看上去很凌乱负责,但实际有规律.所有类都继…
装饰模式(Decorator) 装饰模式又名包装(Wrapper)模式. 装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案. 装饰模式通过创建一个包装对象,也就是装饰,来包裹真实的对象. 装饰模式以对客户端透明的方式动态地给一个对象附加上更多的责任.换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同. 装饰模式可以在不创造更多子类的情况下,将对象的功能加以扩展. 装饰模式把客户端的调用委派到被装饰类.装饰模式的关键在于这种扩展是完全透明的. 装饰模式的角色 抽象构件角色(…
文章出自:听云博客 题主将以三个章节的篇幅来讲解JAVA IO的内容 . 第一节JAVA IO包的框架体系和源码分析,第二节,序列化反序列化和IO的设计模块,第三节异步IO. 本文是第一节.       IO框架 从上图我们可以看出IO可以分为两大块 字节流和字符流 字节流是 InputStream 和 OutputStream 分别对应输入与输出 字符流是Reader和Writer分别对应输入与输出        ByteArrayInputStream  它字节数组输入流.继承于InputS…