【Java高级编程】IO流学习笔记】的更多相关文章

一.java.io 的描述 通过数据流.序列化和文件系统提供系统输入和输出.IO流用来处理设备之间的数据传输 二.流 流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接.类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流.这时候你就可以想象数据好像在这其中“流”动一样.Java对数据的操作是通过流的方式实现的.Java用户操作流的对象都在IO包中. 三.Java流输入输出原理 Java把这些不同来源和目标的数据都统一抽象…
Java中io流四大基类及io流操作四大基本步骤 io流:(input/output)即输入输出流.面向对象的思想之一是面向接口编程,面向父类编程,也就是多态.所以学好基类(父类)很重要. 分类 按处理数据类型角度,可分为字节流(例如音频视频等)和字符流(针对纯文本). 按数据流向,可分为输入流和输出流(输入输出是对程序来说的). 按流的功能,可分为节点流和处理流(没有节点流,处理流发挥不了任何作用),流的名字前面是File或ByteArray开头的均是节点流,其他的是处理流,处理流就是为了提升…
在之前的学习笔记(http://blog.csdn.net/megustas_jjc/article/details/72853059)中,FileWriter与FileReader的Demo使用的中转数据buf实际就是缓冲区,是由我们自己创建的. 缓冲区可以提高效率,Java对缓冲区进行了封装,封装成了对象,即读与写操作都进行了缓冲: BufferedWriter BufferedReader 缓冲区要结合流才可以使用 在流的基础上对流的功能进行了增强 为什么会提高效率(同数据库连接池,避免每…
Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. IO流的分类 根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输入流和输出流   字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象.本质其实就是基于字节流读取时,去查了指定的码表. 字节流和字符流…
IO流的分类: 1.根据流的数据对象来分: 高端流:所有的内存中的流都是高端流,比如:InputStreamReader 低端流:所有的外界设备中的流都是低端流,比如InputStream,OutputStream 如何区分:所有的流对象的后缀中包含Reader或者Writer的都是高端流,反之,则基本上为低端流,不过也有例外,比如PrintStream就是高端流 2.根据数据的流向来分: 输出流:是用来写数据的,是由程序(内存)--->外界设备 输入流:是用来读数据的,是由外界设备--->程…
1.1,什么是io流? 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. 1.2,流按类型分为两种: * 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的 * 字符流 : 字符流只能操作纯字符数据,比较方便. 1.2.1,io流的结构图: 1.3,IO流常用父类: * 字节流的抽象父类: * 字符流的抽象父类: * InputStrea…
IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中 流按照操作数据分为两种:字节流和字符流 流按流向分为:输入流和输出流 输入流和输出流是相对于内存设备而言 因为内存速度快,程序在内存中运行,数据从外设(硬盘)读取到内存中为输入,数据由内存到外设(硬盘)为输出 字符流的由来: 字节流可以处理所有数据,最早是没有字符流的,但是由于不同语言产生了多张码表(用于将其语言转为计算机语言即01码,如ascll,GBK等),由于多张码表的麻烦,国际组织…
Java Concurrency in Practice,一本完美的Java并发参考手册. 查看豆瓣读书 推荐:InfoQ迷你书<Java并发编程的艺术> 第一章 介绍 线程的优势:充分利用多处理器简化模型简化异步事件的处理提供用户界面的响应(时间)线程的风险:安全的风险(不好的事情会发生),提高错误出现的几率活性的风险(好的事情不会发生),如某些代码不会执行,出现死锁.活锁以及饥饿性能的风险,不好的多线程编程可能会危害性能 第二章 线程安全 编写线程安全的代码,实质是管理对状态的访问,尤其是…
1.File文件的属性和操作 boolean exists( )  判断文件或目录是否存在boolean isFile( )  判断是否是文件boolean isDirectory( ) 判断是否是目录String getPath( ) 返回此对象表示的文件的相对路径名String getAbsolutePath( )   返回此对象表示的文件的绝对路径名String getName( ) 返回此对象表示的文件或目录的名称boolean delete( ) 删除此对象指定的文件或目录boolea…
第2章 线程安全性 正确性: 某个类的行为与其规范完全一致. 2.1线程安全: 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类就能表现出正确的行为,那么就称这个类是线程安全的. 无状态对象: 既不包含任何域,也不包含任何其他类中域的引用的对象. 无状态对象一定是线程安全的. 竞态条件: 当某个计算的正确性取决于多个线程的交替执行时序时,就会发生竞态条件. 本质是基于一种可能失效的观察结果来做出判断或者执行某个计…