I/O相关

来源:互联网 发布:城乡居民养老保险算法 编辑:程序博客网 时间:2024/05/29 03:26

知识相关:

什么是计算机文件?

     计算机文件(或称文件、电脑档案、档案),是存储在某种长期储存设备上的一段数据流。所谓“长期储存设备”一般指硬盘、U盘、光盘等。其特点是所存信息可以长期、多次        使用,不会因为断电而消失。
计算机存储介质
     硬盘:容量非常的大,速度一般,而且可以实现永久存储,电脑程序就存在那里
     内存:容量比较小,速度快,是CPU工作的地方,对系统性能影响很大,CPU工作的时候就会把硬盘中要运行的程序先调到内存中才能处理

     缓存:容量最小,但速度最快,为了协调CPU的高速度和内存的相对低速度的缓冲区域,一般在CUP上

java.io.File类
         File类是java中提供给程序操作硬盘文件的方式,可以来获取当前关联硬盘文件的相关属性,包括文件名、路径、大小、修改日期等。
   注意:File类不能直接读写文件中的内容,只能查看和操作文件本身
               File类常用构造方法.

                    JDK查询:




file的常用方法:

boolean exists()

判断文件是否存在,存在返回true,否则返回false

boolean isFile()

判断是否为文件,是文件返回true,否则返回false

boolean isDirectory()

判断是否为目录,是目录返回true,否则返回false

String getName()

获得文件的名称

String getAbsolutePath()

获得文件的绝对路径

long length()

获得文件的长度(字节数)

boolean createNewFile()

throws IOException

创建新文件,创建成功返回true,否则返回false,有可能抛出IOException异常,必须捕捉

boolean delete()

删除文件,删除成功返回true,否则返回false

File[] listFiles()

返回文件夹内的子文件与子文件夹的数组


file对象关联地址,流关联file对象进行读写操作

I/O概念


什么是I/O?
       硬件层面:I/O(input/output),即输入/输出。每个设备都会有一个专用的I/O地址,用来处理自己设备的输入输出信息。比如电脑设备输入端口为键盘和鼠标,输出端口为                           显示屏。
       软件层面:I/O即不同存储机制上的数据的读入写出。比如内存读写硬盘中的数据或者U盘中的数据。
什么是I/O流?
       流是指一定的介质按照一定的方向流动的行为,在软件开发中指的是存储的数据的流动过程,这个数据源可以是硬盘中的文件、内存或者是网络中的某个URL
       I/O流专门用于软件开发层面的理解,把数据从一个存储介质写出(output)或者读取(input)到另外一个存储介质的过程表示为I/O流的模型


流根据传输数据的类型分类

   字节流:读取和写入数据的时候,以字节为最小单元进行读取和写入操作
   字符流:读取和写入数据的时候,以字符为最小单元进行读取和写入操作,因为每个字符根据编码不同,所占用的字节个数不同,每次读取和写入字符时候,是不定长的字节                    个数写入读取。
流根据传输数据的方向分类

   输入流 ( 将硬盘的数据写入内存)

   输出流 (将内存的数据写入硬盘)


上图中的末枝类都是抽象类,下为实用的类


FileInputStream的构造方法


文件输入流基本操作方法


以上为输入流,下面是输出流

字节流-输出流


FileInputStream构造方法





流用完后需要调用close方法节约资源


以上为字节流输入输出下面是字符流相关

字符输入流的抽象基类为:Reader


FileReader构造方法


文件字符输入流基本操作



符输出流的抽象基类为:Writer


FileWriter构造方法


文件字符输出流基本操作






0 0
原创粉丝点击