I/O流和文件

**

文件

**
大家都谁文件这个名词很熟悉,但我们为什么要引入文件呢?
由于文件可以用来持久的保存用用程序中的数据,而用变量和数组,集合的形式存储的数据在应用程序终止之后就会丢失(因为应用程序实在内存上运行的,运行结束后并不会保存相关数据),因此各种应用程序均需要设计文件操作。
下面我们对java文件进行操作
在这里插入图片描述

  1. 增加普通文件的4种方法:
    (1) public File(String pathname) { //用的最多的
    pathname:一个文件的地址+文件名
    地址:可以是绝对地址 或者相对地址

    (2) public File(String parent, String child) {
    parent:文件的父目录:D:/Java/IoTest D:/Java/
    子目录: a.txt IoTest/a.txt
    (3) public File(File parent, String child) {
    parent: new File(D:/Java/IoTest)
    child:

    (4) public File(URI uri) {
    uri:唯一确定文件的字符串
    D:\Java\IoTest
  **/*4中创建普通文件形式*/**

   // 1.   File f=new File("C:\\IDEAproject\\test.txt");
       //2.    File f=new File("C:\\", "IDEAproject\\A.txt");

     //   3  .    File f=new File(new File("C:\\"), "IDEAproject\\c.txt");
      //4.   在网络层面用户传入URI
       File tmp=new File("C:\\IDEAproject\\test.txt");
       URI uri=tmp.toURI();
       System.out.println(uri);
       File f=new File(uri);
       try{
           boolean newFile=f.createNewFile();
           if (newFile){
               System.out.println("创建成功");
           }else{
               //chuang
               System.out.println("创建失败");
           }
       } catch (IOException e) {
           e.printStackTrace();
           System.out.println("创建异常");
       }

创建目录文件(mkdir/mkdirs):

//1.    File file=new File("C://IDEAproject"+File.separator+"src");
        //在父及目录不存在,目录无法创建
       boolean mkdir=file.mkdir();
    
   if (mkdir){
       System.out.println("创建成功");
            }else{
                //chuang
                System.out.println("创建失败");
            }
// 2.File file=new File("C://"+File.separator+"src");
       boolean mkdirs=file.mkdirs();

   if (mkdirs){
       System.out.println("创建成功");
            }else{
                //chuang
                System.out.println("创建失败");
            }
   }

删除文件
删除普通文件(delete):

  //1 File f=new File("C:\\IDEAproject\\test.txt");
       //2    File f=new File("C:\\", "IDEAproject\\A.txt");

     //   3      File f=new File(new File("C:\\"), "IDEAproject\\c.txt");
      //4.   在网络层面用户传入URI
       File tmp=new File("C:\\IDEAproject\\test.txt");
       URI uri=tmp.toURI();
       System.out.println(uri);
       File f=new File(uri);
       try{
           boolean newFile=f.createNewFile();
           if (newFile){
               System.out.println("创建成功");
           }else{
               //chuang
               System.out.println("创建失败");
           }
       } catch (IOException e) {
           e.printStackTrace();
           System.out.println("创建异常");
       }

     /*删除普通文件*/
    boolean delete=f.delete();
     if(delete){
     System.out.println("删除成功");
     }else {
         System.out.println("删除失败");
     }
   /*判断什么时候删除*/

 }

修改文件(renameTo)

  File f=new File("C:\\IDEAproject\\test.txt");
        boolean b=f.renameTo(new File("C:\\IDEAproject\\test1.txt"));
        if (b){
            System.out.println("修改名字成功");
        }else {
            System.out.println("修改名字失败");
        }
        /*修改文件地址*/
       File f=new File("C:\\IDEAproject\\test.txt");
       boolean b=f.renameTo(new File("C:\\IDEAproject\\src\\test.txt"));
       if (b){
           System.out.println("修改名字成功");
       }else {
           System.out.println("修改名字失败");
       }

下边是对文件的其他操作
(2)文件内容的操作 对文件内容 读 或者 写
(1)boolean exists() //表示当前路径是否存在
(2)boolean isFile() //判断当前路劲是否是文件
(3)boolean isDirectory() //判断当前是否为目录
(4)boolean isHidden() //判断是否是隐藏文件
(5)void deleteOnExit() //在程序退出时删除
(6)boolean delete() //直接删除
(7)boolean createNewFile() //创建新文件 在当前文件不存在的情况下,创建成功返回true,文件存在返回false
(8)Mkdirs() 和mkdir() //创建目录
Mkdirs 和mkdir之间的关系
new File("/tmp/one/two/three").mkdirs();
执行后, 会建立tmp/one/two/three父级目录
new File("/tmp/one/two/three").mkdir();
则不会建立任何目录, 因为找不到/tmp/one/two目录, 结果返回false
(9)file.getName();// 获取文件名
(10)File.getPath(); //获取相对路径
(11)getParent()//获取文件的父路径
(12)file.lastModified() //获取文件最后一次修改的时间
(13)file.getAbsolutePath();//获取绝对路径
(14)File.Length() //获取文件长度
(15)public boolean renameTo(File dest)

查找文件
把一个目录下所包含的文件 查出来
public String[] list()
首先创建一个这个目录的file对象
把目录下文件的文件名已String对象的形式,存在数组
public String[] list(FilenameFilter filter)
比较:
把符合FilenameFilter过滤规则的文件过滤处理
下边是过滤文件的
public File[] listFiles()
public File[] listFiles(FilenameFilter filter)
public File[] listFiles(FileFilter filter)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值