IO流

文件的几种创建方式和删除:

IO流的概念:

IO流用来处理设备之间的数据传输

Java对数据的操作是通过流的方式

Java用于操作流的类都在IO包中

流按流向分为两种:输入流,输出流。

流按操作类型分为两种:

字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的

字符流 : 字符流只能操作纯字符数据,比较方便。

java中流的体系图:

IO流常用父类:

字节流的抽象父类:InputStream          OutputStream

字符流的抽象父类:Reader                   Writer

IO流中的输入输出流以及流的关闭

关流的正确方式:

输入流与输出流的区别:当你去输出的时候,文件不存在会帮我们自动创建,当我们去输入的时候,文件不存在就会报错

文件的赋值:

例1:一个一个字节存(很慢)

例2:用数组存放:

flush和close方法的区别

flush()方法

用来刷新缓冲区的,刷新后可以再次写出

close()方法

用来关闭流释放资源的的,如果是带缓冲区的流对象的close()方法,不但会关闭流,还会再关闭流之前刷新缓冲区,关闭后不能再写出

文件加密:

文件追加

BufferedInputStream/BufferOutputStream(仅作了解)

A:缓冲思想

字节流一次读写一个数组的速度明显比一次读写一个字节的速度快很多,

这是加入了数组这样的缓冲区效果,java本身在设计的时候,

B.BufferedInputStream

BufferedInputStream内置了一个缓冲区(数组)

从BufferedInputStream中读取一个字节时

BufferedInputStream会一次性从文件中读取8192个, 存在缓冲区中, 返回给程序一个

程序再次读取时, 就不用找文件了, 直接从缓冲区中获取

直到缓冲区中所有的都被使用过, 才重新从文件中读取8192个

C.BufferedOutputStream

BufferedOutputStream也内置了一个缓冲区(数组)

程序向流中写出字节时, 不会直接写到文件, 先写到缓冲区中

直到缓冲区写满, BufferedOutputStream才会把缓冲区中的数据一次性写到文件里

D.拷贝的代码

```java FileInputStream fis = new FileInputStream("致青春.mp3");

//创建文件输入流对象,关联致青春.mp3

BufferedInputStream bis = new BufferedInputStream(fis);

//创建缓冲区对fis装饰

FileOutputStream fos = new FileOutputStream("copy.mp3");

//创建输出流对象,关联copy.mp3

BufferedOutputStream bos = new BufferedOutputStream(fos);

//创建缓冲区对fos装饰

int b;

while((b = bis.read()) != -1) {

            bos.write(b);

}

bis.close();

//只关装饰后的对象即可 bos.close(); ```

E.小数组的读写和带Buffered的读取哪个更快?

定义小数组如果是8192个字节大小和Buffered比较的话

定义小数组会略胜一筹,因为读和写操作的是同一个数组

而Buffered操作的是两个数组

对象输入流:(创建对象不一定会调用构造器,调用构造器一定会创建对象)

将对象写入流里面这个过程称为序列化,如果一个对象要序列化那么这个对象的类就必须实现序列化接口Serializable 的类所产生的对象才能够写入流

当把一个容器序列化,那么该容器的数据也会被序列化

如果一个对象要序列化那么这个对象的类就必须实现序列化接口

只有实现了序列化接口的类所产生的对象才能写入流

从流中将对象读取出来的过程被称为反序列化,不会去调用对象的构造器 

序列化与反序列化:

        序列化:将对象转换成字节序列

        反序列化:从字节序列中恢复对象     从流中读取对象

ByteArrayOutPutStream:内存输出流 (输入流不需要掌握)

DataOutputStream DataInputStream数据输出输入流(用的不是很多,但是需要掌握):这个流一般用来读取基本数据类型,可以写到内存中也可以写到文件中  怎么存就怎么取,例如以byte写入文件,读文件以byte去读

字符流:

FileReader:

BufferedReader:

FileWriter:(这个流已经不常用了)

PrintWriter:(常用):

BufferedWriter:(不常用)

两种方式实现键盘录入

A:BufferedReader的readLine方法。

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

B:Scanner

例:

RandomAccessFile随机读取流(必须掌握):RandomAccessFile类不属于流,是Object类的子类。但它融合了InputStream和OutputStream的功能。支持对随机访问文件的读取和写入。


Properties

A:Properties的概述

Properties 类表示了一个持久的属性集。

Properties 可保存在流中或从流中加载。

属性列表中每个键及其对应值都是一个字符串。

B:案例演示Properties作为Map集合的使用 

Properties的特殊功能使用

A:Properties的特殊功能

public Object setProperty(String key,String value)

public String getProperty(String key)

public Enumeration stringPropertyNames()



©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容