File类和IO流

一、这个解决了什么问题?

二、File类的构造方法和成员方法有哪些?

三、IO流的基本用法和注意事项?

一:

在使用数据库之前我们可以采取到的对内容进行存储的容器,数组[ ],集合<>,但是这些都存在一个问题,那就是IDEA结束运行,上述容器存储内容都会消失。---->所以我们使用File类和IO流可以进行数据的本机永久存储。

二:File类:描述一个文件或者一个文件夹在磁盘上的位置

构造方法:

//1-----File(String path);
File file1 = new File("C:\\User\\xxx\\Test");
//2-----File(String parent,String chlid);
File file2 = new File("C:\\User\\xxx\\Test", "a.txt");
//3-----File(File parent,String chlid);
File file3 = new File(file1,"b.txt");

成员方法:

//我们用一个对象来进行举例
File file1 = new File("C:\\User\\xxx\\Test\\c.txt");
file1.createNewFile(); //--- boolean  只能创建文件!!!
File file2 = new File("C:\\User\\xxx\\Test\\aaa\\bbb\\ccc");
file2.mkdir();         //--- boolean  这个只能创造一个文件夹,所以上面只能创建出aaa
file2.mkdirs();        //--- boolean  我们一般都是用这个,创建多层级文件夹
file2.isFile();        //--- boolean  判断该文件类型,是否为  文件
file2.isDirectory();   //--- boolean  判断该文件类型,是否为  文件夹
file2.exists();        //--- boolean  判断该文件是否存在
file2.getName();       //--- String   获取该文件的名字
file2.listFiles();     //--- File[]   获取该路径下所有的文件
file2.delete();        //--- boolean  记住!!只能删除文件和空文件夹
file2.length();        //--- long     获取文件的大小

我们还要明白一点:绝对路径(系统盘底下的:"C:\\"),相对路径(非绝对路径的都叫相对路径)。

三:IO( In / Out ):根据具体的文件完成读写操作

先明白一点什么叫做程序的读和写:(硬盘 --->  内存:读)    /     (内存 ---> 硬盘:写)

分类:

①.按照方向分:输出流 / 输入流 ;

②.按照操作内容分:字节流(直接操作文件本身) / 字符流(会使用缓冲区),这里两者的区别可以在 IDEA中的运行框进行对比

     其中还有重要的一点:字节流可以操作所有文件 / 字符流只能操作系统上的默认文本文档类型文件

-----字节流:a.输入流 / b.输出流 (InputStream / OutputStream)

输入流:InputStream extends Object{...}
         -  FileInputStream extends InputStream{...}
            //字节输入流中存在 .read()读取的方法

         -  FilterInputStream extends InputStream{...}
               BufferedInputStream extends FilterInputStream {...}
               //字节缓冲输入流

         -  ObjectInputStream extends InputStream{...}

输出流:OutputStream extends Object{...}
         -  FileOutputStream extends OutputStream{...}
            //字节输出流中存在 .write()写入的方法

         -  FilterOutputStream extends OutputStream{...}
               BufferedOutputStream extends FilterOutputStream {...}
               //字节缓冲输出流

         -  ObjectOutputStream extends OutputStream{...}

注意事项:IO流使用时,一定要注意最后.close()  -----不然会占用内存!!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值