Java I/O 学习总结(一)

来源:互联网 发布:二手域名 编辑:程序博客网 时间:2024/04/19 23:27
先来看一张有关Java I/O 的图片(不要慌)

 

这张图片想必大家也都见过很多次,很详细的将Java I/O 相关的内容罗列了出来,暂且不要被吓到,我们边学边总结,最后回过头再来看这张图片,会有不一样的感受。

Java的核心库java.io提供了全面的IO接口。包括:文件读写、标准设备输出等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。

  流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。

上述流的概念摘自百度百科(http://baike.baidu.com/item/java.io),博主感觉这个概念解释的已经蛮清楚的了,再通俗的讲,流就是一个“管道”,当你的程序读取或者是存储数据的时候,数据在这个管道里流动。

Java流的分类

按流向分(内存和硬盘间的方向):

  输入流:程序可以从中读取数据的流

  输出流:程序能向其中写入数据的流

按数据传输单位分:

  字节流:以字节为单位传输数据的流

  字符流:以字符为单位传输数据的流

按功能分:

  节点流:用于直接操作目标设备的流
  过滤流:是对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能。
 

Java I/O 常用类

  JDK所提供的所有流类位于java.io包中,都分别继承自以下四种抽象流类。

  InputStream:继承自InputStream的流都是用于向程序中输入数据的,且数据单位都是字节(8位)。
  OutputStream:继承自OutputStream的流都是程序用于向外输出数据的,且数据单位都是字节(8位)。
  Reader:继承自Reader的流都是用于向程序中输入数据的,且数据单位都是字符(16位)。
  Writer:继承自Writer的流都是程序用于向外输出数据的,且数据单位都是字符(16位)。
 

File类

  File类提供了许多构造方法,可以根据文件路径字符串获取其File实例,然后对该文件下进行文件和目录进行删除和创建,以及查找和类型的判断。

  File对象代表磁盘中实际存在的文件和目录。可以通过如下构造方法创建File对象:

  

//通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例public File(String pathname)//根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例public File(String parent, String child)//通过给定的父抽象路径名和子路径名字符串创建一个新的File实例public File(File parent, String child)//通过将给定的 file: URI 转换成一个抽象路径名来创建一个新的 File 实例public File(URI uri)

 常用的创建File对象方法:

//File.separator是路径分隔符,UNIX下相当于'/',WINDOWS下相当于'\\'File file = new File("f:" + File.separator + "hexo" + File.separator + "themes");//也可以直接使用'/'分隔路径File file1 = new File("f:/hexo","themes");File file2 = new File("f:/hexo");File file3 = new File(file2,"themes");//file1和file3是同一个文件的File对象

File类提供了很多操作文件和目录的方法,这里就不一一列举,可自行查阅JDK源码,后面的文章里某些方法第一次出现时,博主会详细注释的~

本文主要是Java I/O 学习的前奏,一些基本的概念,现在看来可能有点抽象,不好理解,慢慢往后看后续文章你就会理解的!

0 0
原创粉丝点击