码迷,mamicode.com
首页 > 其他好文 > 详细

IO流

时间:2019-09-24 14:01:10      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:功能   方法   getname   文件夹   创建文件夹   多层   节点   exit   onexit   

1. 文件系统和File类

     File类在Java.io包中   对于一个File对象来说它能够代表硬盘上的一个文件或者文件夹

      原理:当我们创建一个File对象时,在内存中分配了一块内存区域,创建一个File对象并不会在系统中真的创建一个文件或者文件夹,而只在JVM内存中

                  创建了一个对象,通过这个对象能够跟磁盘打交道,从而操作底层的文件。因此File对象所代表的的文件或者文件夹可能不存在。

 

      1、 File有四个构造方法其中三个比较常用

               (1)  File(String pathname) :     表示一个路径名 用来创建一个文件或者文件夹

                    (2)     File(String parent, String child) :   用来构建parent/child 的文件或者文件夹

                  (3)   File(File parent, String child) :     同样用 parent 表示父目录,只不过这个 parent 是用 File 类型来表示。

        2、   File 类的一些基本操作

               (1)    createNewFile() : 这个方法可以用来创建一个新文件。需要注意的是,如果这个文件在系统中已经存在,createNewFile 方法不会覆盖原有文件。

               (2)    mkdir() / mkdirs() : 这两个方法都可以用来创建文件夹。所不同的是,mkdir 只能创建一层文件夹,而 mkdirs 能够创建多层文件夹。

 

                  (3)      delete() : 这个方法能够删除 File 所代表的文件或者文件夹。
 
                  (4)      deleteOnExit() : 这个方法也能用来删除文件或者文件夹。所不同的是,delete()方法被调用时,这个文件或者文件夹会被立刻删除,而 deleteOnExit()方法被调用                                         后,文件或者文件夹并不会立刻被删除,而会等到程序退出以后再删除。
 
                   (5)      getPath() : 返回路径
                   (6)      getName() : 返回文件名
                   (7)     getParent() : 返回所在的文件夹

2.   IO 分类  问题引入

            1.     所谓的流,指的是:用来传输数据的对象

            2.     流可以按照方向分类,分为输入流和输出流

 

            3.     流可以按照数据单位分类,分为字节流和字符流

             4.      流可以按照功能分类,分为节点流和过滤流

            5.     任何数据都可以按照字节的方式进行传输。

             问题:汉字占用的有时并不是一个字节如果使用字节传输 ,传输过程中出现传输错误只保留半个汉字出现这种错误

             解决:字符流

         1. 字符流    

                字符流传输数据的单位是字符。这种流专门用于处理文本,能够方便的处理字符编码的问题。

          2. 节点流

               真正能够完成传输功能的流,而相对的,过滤流并不能完成真正的数据传输,过滤流是用来为其他流增强功能。

 3. 设计模式         

            在节点流和过滤流的设计上,I/O 框架中使用了一种设计模式,这种设计模式被称为“装饰模式”。

                                                      技术图片

 

 

在 I/O 框架中对应的概念就是节点流。而零件的那些子类,是为枪械增强功能的,本身并不能完成射击的功能,因此对应于 I/O 的概念,就是过滤流。

                                   技术图片

 

 

4. 字节流

          (1).   特点:数据单位是字节,能够处理任何一种文件

            (2) .      InputStream 和OutputStream  所有字节流的父类         

                               

 

             FileInputStream 

                (1)FileInputStream(Sting filename):通过文件路径获得文件输入流

                (2)FileFileInputStream(File file): 通过

 

IO流

标签:功能   方法   getname   文件夹   创建文件夹   多层   节点   exit   onexit   

原文地址:https://www.cnblogs.com/zhulina-917/p/11577832.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!