首页 > 其他 > 详细

流io

时间:2019-12-15 23:09:42      阅读:95      评论:0      收藏:0      [点我收藏+]
绝对路径

1.c://test//Test.java 从盘符开始找 ? 2.从项目根目录开始找 ?

相对路径

1.当前编辑文件的路径相对于你要找到文件的路径

 

流的类型有很多,为了大家理解方便,通常有下面几种划分方式

1. 按照方向划分: 输入流 输出流

输入流:从数据源读取数据到程序中。只能从中读取数据,而不能向其写入数据

 

输出流:将数据从程序写入数据目的地。只能从中写入数据,而不能从中读取数据

 

 

2.按照类型划分: 字节流 字符流

字节流: 在有图片或者视频文档的时候用 字节流

字节流是以 byte 为最小单位进行数据传送。io 包中的字节流都继承自抽象类 InputStream 或 OutputStream

 

public int read() throws IOException

读取一个字节,并且以整数的形式返回(0-255) ? 如果返回-1,表示读取到输入流的末尾 ?

 

字符流:在纯文档的时候用字符流

字符流是以 char 为最小单位进行数据传送。io 包中的字符流都继承自抽象类

Reader 或者 Writer。

 

public int read(byte b[]) throws IOException

读取的是一系列字节,并且存储到一个byte类型的数组中,这个数组相当于一个缓存区 ? 返回的是当前读取到的字节数,如果读取到文件末尾返回-1 ?

 

3. 按照操作方式划分: 节点流 过滤流

节点流:可以从或向一个特定的地方(节点)读写数据

过滤流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写

4. 转换流

  • 转换流提供了在字节流和字符流之间的转换

  • Java API提供了两个转换流:

    InputStreamReader和OutputStreamWriter
  • 字节流中的数据都是字符时,转成字符流操作更高效。

  • InputStreamReader

  1. 用于将字节流中读取到的字节按指定字符集解码成字符。需要和InputStream“套接”。

  2. 构造方法

public InputStreamReader(InputStream in)
public InputSreamReader(InputStream in,String charsetName)
如: //指定字符集
Reader isr = new InputStreamReader(System.in,”ISO5334_1”);
  • OutputStreamWriter

  1. 用于将要写入到字节流中的字符按指定字符集编码成字节。需要和OutputStream“套接”。

  2. 构造方法

 public OutputStreamWriter(OutputStream out);
public OutputSreamWriter(OutputStream out,String charsetName);

5.对象流:

ObjectInputStream和OjbectOutputSteam;用于存储和读取基本数据类型数据或对象的处理流。它的强大之处就是可以把Java中的对象写入到数据源中,也能把对象从数据源中还原回来

 

6.缓冲流

  1. 为了提高数据读写的速度,Java API提供了带缓冲功能的流类,在使用这些流类时,会创建一个内部缓冲区数组。

  2. 缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法。

  3. 对于输出的缓冲流,写出的数据会先在内存中缓存,使用flush()将会使内存中的数据立刻写出。

  4. 根据数据操作单位可以把缓冲流分为

BufferedInputStreamBufferedReader
BufferedOutputStream BufferedWriter

 

流io

原文:https://www.cnblogs.com/zzc622446/p/12046105.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!