Java基础IO(对文件的操作)

一.理解文件

  1.文件可以简单的理解为在外设硬盘上面保存数据的一种方式
  2.文件以共可以由两部分构成:属性(文件大小,文件名,文件类型等)+内容(就是文件里面放的是什么)
  3.JavaIO,对文件写入或者读取的过程称之为IO

二.File文件操作类

  在java.io包之中,用File类来对文件进行操作(创建,删除,获得信息等)

1.File类的使用

Java.io.File类是一个普通的类,如果要实例化对象,则常用到两个构造方法

方法解释
public File(String pathname)创建指定路径文件对象
public File(String parent,String child)同上,但可以指明父路径和子路径

2.File类常用方法——基本文件操作

方法说明
public boolean exists()判断一个文件是否存在
public boolean isDirectory()判定一个文件是目录
public boolean isFile()判定是否是文件
public boolean delete()删除文件
public boolean createNewFile() throws IOException创建一个新文件

代码示例1-检测文件是否存在:

package com.bittech;

import java.io.File;

public class FileDemo {
    public static void main(String[] args) {
        String path="E:\\java-code\\file\\";
        String name="demo.txt";
        String pathname=path+name;

        File file=new File(pathname);
        boolean res=file.exists();
        System.out.println(res);
    }
}

运行结果:
在这里插入图片描述



代码示例2-检测是否是目录,是否是文件,删除:

package com.bittech;

import java.io.File;

public class FileDemo {
    public static void main(String[] args) {
        String path="E:\\java-code\\file\\";
        String name="demo.txt";
        String pathname=path+name;

        File file=new File(pathname);

        boolean res=file.isDirectory();
        System.out.println("是否是目录:"+res);

        boolean res1=file.isFile();
        System.out.println("是否是文件:"+res1);

        file.delete();
        if(file.exists()){
            System.out.println("删除失败!");
        }else{
            System.out.println("删除成功!");
        }
    }
}

运行结果:
在这里插入图片描述
  此时去到路径下已经没有demo.txt文件了




代码示例3-创建新文件:

package com.bittech;

import java.io.File;
import java.io.IOException;

public class FileDemo {
    public static void main(String[] args) {
        String path="E:\\java-code\\file\\";
        String name="demo1.txt";
        String pathname=path+name;

        File file=new File(pathname);

        if(!file.exists()){
            try {
                file.createNewFile();
                System.out.println("文件创建成功!");
            } catch (IOException e) {
                e.printStackTrace();
                System.out.println("文件创建失败!");
            }
        }else{
            System.out.println("文件已经存在!");
        }
    }
}

运行结果(运行两次即文件已经存在):
在这里插入图片描述


注意:
 实际项目环境可能与开发环境不同,所以要注意分隔符,windows下使用的是 \,而linux/unix系统下使用的是/。


3.File类常用方法——目录操作

方法解释
public boolean mkdir()创建一个空目录
public boolean mkdirs()创建目录(无论有多少级父目录,都会创建)
public String getParent取得父路径
public File getParentFile取得父File对象



代码示例1-创建指定一个或者多个目录的路径:

package com.bittech;

import java.io.File;

public class FileDemo2 {
    public static void main(String[] args) {
        String path="E:\\java-code\\file\\";
        //String dir_name="demo_dir";
        String dir_name="demo_dir\\dir1\\dir2\\";     //会逐层创建
        String pathname=path+dir_name;

        File file=new File(pathname);
        if(!file.exists()){
           // file.mkdir();
            file.mkdirs();
            System.out.println("路径创建成功!");
        }else{
            System.out.println("路径已存在!");
        }
    }
}


观察路径变化:已经成功创建
在这里插入图片描述



代码示例2-获取父路径:

package com.bittech;

import java.io.File;

public class FileDemo2 {
    public static void main(String[] args) {
        String path="E:\\java-code\\file\\";
        String dir_name="demo_dir\\dir1\\dir2\\";     //会逐层创建
        String pathname=path+dir_name;

        File file=new File(pathname);
        System.out.println(file.getParent());
    }
}

运行结果:
在这里插入图片描述


代码示例3-获取父目录File对象,并在父目录下,创建文件demo.java:

package com.bittech;

import java.io.File;
import java.io.IOException;

public class FileDemo2 {
    public static void main(String[] args) throws IOException {
        String path="E:\\java-code\\file\\";
        String dir_name="demo_dir\\dir1\\dir2\\demo.java";
        String pathname=path+dir_name;
        File file=new File(pathname);

        File pfile=file.getParentFile();
        if(!pfile.exists()){
            pfile.mkdirs();
        }

        if(!file.exists()){
            file.createNewFile();
        }
    }
}

运行结果:
在这里插入图片描述


4.File类常用方法——文件属性操作

方法解释
public long length()取得文件大小(字节)
public long lastModified()最后一次修改日期


代码示例1-取得文件信息:

package com.bittech;

import java.io.File;
import java.io.IOException;
import java.util.Date;

public class FileDemo3 {
    public static void main(String[] args) throws IOException {
        String path="E:\\java-code\\file\\";
        String name="demo.txt";
        String pathname=path+name;
        File file=new File(pathname);

        if(!file.exists()){
            file.createNewFile();
        }
        System.out.println(name+"size="+file.length());
        System.out.println(name+"最近修改时间="+new Date(file.lastModified()));
    }
}

运行结果:
在这里插入图片描述



5.绝对路径与相对路径

  绝对路径:是指目录下的绝对位置,直接到达目标位置。完整的描述文件位置的路径就是绝对路径。如E:\java-code\file\Test.java

  相对路径:相对于某个基准目录的路径。如当前路径为E:\\javacode,要描述上述路径(E:\\javacode\\Java\\Test.java),只需要输入Java\\Test.java即可



6.File类常用方法——其他操作

方法解释
public File[] listFiles()列出一个目录指定的全部组成



代码示例-列出某个目录中的全部组成:

package com.bittech;

import java.io.File;
import java.io.IOException;
import java.util.Date;

public class FileDemo3 {
    public static void main(String[] args) throws IOException {
        //保证路径是正确且存在的
       File file=new File("E:\\linuxtools");
       File[] result=file.listFiles();
       for(File file1:result){
           System.out.println(file1);
       }
    }
}

运行结果:
在这里插入图片描述

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值