1.JavaI/O 系统概述

A.  输入输出(I/O):指的是计算机与外部世界,或者一个程序与计算机的其余部分之间的接口

B. 流的概念(流:Stream)

流的基本特性:有数据、有方向

2. 流的分类

A.按数据流的方向分:

a. 输入流:从数据源到应用程序(类:InputStream、Reader)

b. 输出流:从应用程序到数据源(类:OutputStream、Writer)

B. 按处理数据的最小单位的不同分

a. 字节流:(最小单位:byte) (类:InputStream、 OutputStream)

b. 字符流:(最小单位:char) (类: Reader 、 Writer)

C. 按流的功能分:

a. 节点流(低级流)

b.  处理流(高级流)

判断一个流是否是高级流:查看该类的构造器,如果类的构造器带有一个已存在的流作为参数,则是高级流

所有I/O操作的步骤:

建立流、读写流、关闭流

3. 文件类(File类)

A. 创建对象:File file = new File(“test.txt”);

4. 字节流:所有面向字节的流类都继承于InputStream类(输入流)或OutputStream类(输出流),这两个类是抽象类,我们可以利用它的子类来完成不同的功能。

A.InputStream类

InputStream in = null;

In = new FileInputStream(“test.txt”);

方法:

close():  关闭输入流

read():从流中读取下一个字节

read(byte[ ]  b): 从输入流中读取一些字节,并存入数组b

read(byte[ ] b, int off, int len):从输入流中读取前len个字节并存入数组b

B.OutputStream类

OutputStream out = null;

out = new FileOutputStream(“test.txt”);

方法:

close():关闭该输出流

write(byte[] b):将 b.length 个字节从指定的字节数组写入此输出流

write(byte[] b, int off, int len) :将指定字节数组中从偏移量 off 开始的 len 个字节写入此输出流

5. 字符流

A.字符输入流Reader:

Reader类中两个常用类:

FileReader:以字符流的形式读取文件,与FileInputStream 用法基本一致

BufferedReader:将流读入缓冲区,然后从缓冲区读取,并且提供了readLine()方法,可以从文本文件中整行的读取数据

Reader r = null;

r = new FileReader(“test.txt”);

B.字符输出流Writer:

Writer类中两个常用类:

FileWriter:以字符流的形式写入文件,与FileOutputStream用法基本一致

BufferedWriter:将缓冲区输出到流

Writer w = null;

w = new FileWriter(“test.txt”);

6. 对象流

A. ObjectInputStream:对象输入流

B. ObjectOutputStream:对象输出流,注意在对象从内存保存到硬盘这个过程中,我们需要先将对象转化成字节流在进行保存,这个过程叫做对象的序列化。只要让对象实现Serializable接口即可,从硬盘读取对象到内存这个过程称为反序列化。

JavaI/O 系统的更多相关文章

  1. JavaI/O系统

    I/O:(输入/输出)指的是计算机与外部世界,或者一个与计算机其余部分的接口.它对任何计算机系统都非常关键. Java类库中有大量的类,帮助我们从不同的设备读取数据并保存或输出到不同的设备中. 这些类 ...

  2. JavaI/O系统2

    数据流: DataInputStream,DataOutputStream.可以用于与计算机无关的格式读写java的基本数据类型以及String对象 对象流: ObjectInputStream,Ob ...

  3. Lucene的入门

    Lucene准备 Lucene可以在官网上下载,我这里已经下载好了,用的是4.10.3版本的, 解压以后的文件为: 如果没有使用maven管理的话,就需要引入这三个jar包,实现lucene功能. 我 ...

  4. JAVA编程不得不看的几本经典书籍

    为了帮助对java编程感兴趣的同学更好.更快的提高编程技术,武汉北大青鸟光谷校区专业老师在此推荐几本学习编程非常有用的书籍,以供大家参考. 入门类 1.<java从入门到精通>(第3版) ...

  5. 学习Java的书籍资料

    对于程序员来说,编程技术至关重要,然而技术的提高不是一蹴而就的,它需要时间的积累和经验的沉淀.因此本文为大家推荐Java学习的书籍,学虽容易,学好不易,且学且珍惜. 基础类.<Java从入门到精 ...

  6. 2012高校GIS论坛

    江苏省会议中心 南京·钟山宾馆(2012年4月21-22日) 以"突破与提升"为主题的"2012高校GIS论坛"将于4月在南京举行,由南京大学和工程中心共同承办 ...

  7. 在Openfire上弄一个简单的推送系统

    推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这 ...

  8. 数据库优化案例——————某市中心医院HIS系统

    记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的.这也是为什么自己特别喜欢看案例,今天也开始分享自己做的优化案例. 最近一直很忙,博客产出也少的 ...

  9. ABP文档 - 通知系统

    文档目录 本节内容: 简介 发送模式 通知类型 通知数据 通知重要性 关于通知持久化 订阅通知 发布通知 用户通知管理器 实时通知 客户端 通知存储 通知定义 简介 通知用来告知用户系统里特定的事件发 ...

随机推荐

  1. HDU_1532_最大流

    Drainage Ditches Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  2. HDU_1113_字符串处理

    Word Amalgamation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  3. C#鸡翁百鸡

    一个for static void Main(string[] args) { int x, y, z; ; x <= ; x++) { - * x) % == ) { y = ( - * x) ...

  4. 字符串str

    字符串: #字符串的索引从0开始的,如果倒数最后一位是-1,索引的位置是唯一的.var1 = var[0:2] #从第一个字符到第2个字符var2 = var[:] #从第一个到最后var3 = va ...

  5. Linux命令(文本编辑器)

    vi和vim编辑器:有插入模式,一般模式,地行模式 一班模式通过(i.a.o.I.A.O)键--->进入插入模式            插入模式(按Esc键退出)---->j进入一班模式 ...

  6. Fang Fang HDU - 5455 (思维题)

    Fang Fang says she wants to be remembered. I promise her. We define the sequence FF of strings. F0 = ...

  7. camera placement (paraview)

    # 'renderView1' is the view name# current camera placement for renderView1 renderView1.CameraPositio ...

  8. 746. Min Cost Climbing Stairs(动态规划)

    On a staircase, the i-th step has some non-negative cost cost[i] assigned (0 indexed). Once you pay ...

  9. TypeError: CleanWebpackPlugin is not a constructor

    在项目中引入clean-webpack-plugin打包后报错 new CleanWebpackPlugin(), ^ TypeError: CleanWebpackPlugin is not a c ...

  10. 【Codeforces 1106C】Lunar New Year and Number Division

    [链接] 我是链接,点我呀:) [题意] 题意 [题解] 看了下样例解释就懂了... 每次选择最大最小的两个组合 然后加起来.. [代码] import java.io.IOException; im ...