文件操作1

文件操作

File类基本操作

  • File类是Comparable接口的子类,所以File类的对象是可以进行排序处理的。在进行File类处理的时候需要为其设置访问路径,对于路径的配置主要通过File类的构造方法处理:
1.构造方法:public File(String pathname),设置要操作的完整路径;
2.构造方法:public File(String parent, String child),设置父路径与子目录;
  • 如果现在要想进行文件的基本操作,可以使用如下的方法:
1.创建新文件:public boolean createNewFile() throws IOException2.判断文件是否已存在:public boolean exists()3.删除文件:public boolean delete()

范例:使用File类创建一个文件(d:mldn.txt)

import java.io.File;
public class Demo {
    public static void main(String[] args) throws Exception{
        File file = new File("d:\\mldn.txt");
        if(file.exists()) {  //如果文件存在
            file.delete();    //删除文件
        }else {    //如果文件不存在
            System.out.println(file.createNewFile()) ;   //创建新的文件
        }
    }
}

File类深入操作

  • 在不同的操作系统之中会存在有不同的路径分隔符,Windows标准分隔符为“\”;Linux分隔符为“/”;所以在最初的开发时就必须考虑不同系统环境下的分隔符问题,所以为了解决此问题,File类提供有一个常量:public static final String separator;
    范例:正常的路径编写
import java.io.File;
public class Demo {
    public static void main(String[] args) throws Exception{
        File file = new File("d:"+File.separator+"mldn.txt");
        if(file.exists()) {
             file.delete();    //删除文件
        }else {    //文件不存在
             System.out.println(file.createNewFile()) ;   //创建新的文件
        }
    }
}
  • 在进行文件创建的时候有个重要前提:文件的父路径必须首先存在。
1.如何获取父路径:public File getParentFile()2.创建目录:public boolean mkdir(),创建单级目录;
3.创建目录:public boolean mkdirs(),创建多级目录;

范例:

import java.io.File;
public class Demo {
    public static void main(String[] args) throws Exception{
        File file = new File("d:"+File.separator+"hello"+File.separator+"demo"+File.separator"+"message"+File.separator"+mldn.txt");
        if(file.getParentFile().exists()) {    //父路径不存在
             file.getParentFile.mkdirs() ;   //创建父路径
        }
        if(file.exists()) {
             file.delete();    //删除文件
        }else {    //文件不存在
             System.out.println(file.createNewFile()) ;   //创建新的文件
        }
    }
}

获取文件信息

  • 除了可以进行文件的操作之外,也可以通过File类来获取一些文件本身提供的信息,可以获取如下内容:
1.文件是否可读:public boolean canRead()2.文件是否可写:public boolean canWrite()3.获取文件长度:public long length(),该方法返回的是long数据类型,字节长度;
4.最后一次修改日期时间:public long lastModified()5.判读是否是目录:public boolean isDirectory()6.判断是否是文件:public boolean isFile()

范例:

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
class MathUtil {     //四舍五入
    private MathUtil() {}
    public static double round(double num, int scale) {
        return Math.round(Math.pow(10, scale) * num) / Math.pow(10, scale);
    }
}

public class Demo {
    public static void main(String[] args) {
        File file = new File("d:"+ File.separator + "my.jpg");
        System.out.println("文件是否可读:" + file.canRead());  //true
        System.out.println("文件是否可写:" + file.canWrite());  //true
        System.out.println("文件大小:" + MathUtil.round(file.length() / (double) 1024 / 1024,2));  //文件大小:16.16
        System.out.println("最后的修改时间:"+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(file.lastModified())));
        System.out.println("是目录吗?"+file.isDirectory());  //false
        System.out.println("是文件吗?"+file.isFile());    //true
    }
}
  • 列出目录内容
import java.io.File;
public class Demo {
    public static void main(String[] args){
        File file = new File("d:"+ File.separator);
        if(file.isDirectory()){    //当前是一个目录
            File result []=file.listFiles();  //列出目录中的全部内容
            for (int x = 0 ;x < result.length; x ++){
                System.out.println(result[x]);
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值