java基础进阶-03-IO流_File

IO流

File

File构造方法

  • File类
    • File(String pathName)
    • File(String parent,String child)
    • File(File parent,String child)
File f1 = new File("E:\\xxx\\xx.txt");
System.out.println(f1);

File f2 = new File("E:\\xxx","xx.txt");
System.out.println(f2);

File f3 = new File("E:\\xxx");
File f4 = new File(f3,"xx.txt");
System.out.println(f4);

File创建方法

  • creatNewFile()
  • mkdir()
  • mkdirs()
    • 创建多级目录
File f1 = new File("E:\\xxx\\xx.txt");
//创建文件
//如果文件不存在则创建文件,返回true
//如果文件存在则不创建文件,返回false
boolean flag1 = f1.createNewFile();

//创建目录
//如果目录存在则创建目录,返回true
//如果目录存在则不创建目录,返回false
File f2 = new File("E:\\xxxxxx");
boolean flag2 = f2.mkdir();

//创建多级目录
//如果目录存在则创建目录,返回true
//如果目录存在则不创建目录,返回false
File f3 = new File("E:\\1\\2");
boolean flag3 = f3.mkdirs();

File判断和获取功能

  • isDirectory()
  • isFile()
  • exists()
  • getAbsolutePath()
  • getPath()
  • getName()
  • list()
    • 返回目录字符串数组String[]
  • listFile()
    • 返回目录File对象数组File[]
File f = new File("myFile\\java.txt");
System.out.println(f.isDirectory());
System.out.println(f.isFile());
System.out.println(f.exists());

System.out.println(f.getAbsolutePath());
System.out.println(f.getPath());
System.out.println(f.getName());

File f2 = new File("E:\\xx");
String[] strArray = f2.lsit();
for(String str:strArray){
    System.out.println(str);
}

System.out.println("------------------");

File[] fileArray = f2.listFiles();
for(File file : fileArray){
    //System.out.println(file);
    if(file.isFile()){
        System.out.println(file.getName());
    }
}

File删除

  • delete()

  • 绝对路径

  • 相对路口

File f1 = new File("java.txt");
f1.createNewFile();

//删除
System.out.println(f1.delete());

File f2 = new File("xxx")
f2.mkdir();
//删除
System.out.println(f2.delete());

File f3 = new File("xx");
f3.mkdir();
//没有xx文件夹创建java.txt会报错
File f4 = new File("xx\\java.txt");
f4.createNewFile();
//目录下有内容无法删除
System.out.println(f3.delete());//false

System.out.println(f4.delete());//true
System.out.println(f3.delete());//true

递归

public static int f(int n){
    f(n==1||n==2)}{
        return 1;
    }
    return f(n-1)+f(n-2);
}

public class Test{
    public static void main(String[] args){
        int reuslt = jc(10);
        
    }
    
    public static int jc(int n){
        if(n==1){
            return 1;
        }else{
            return n*jc(n-1)
        }
        
    }
    
}
遍历目录
public class DiguiDemo{
    public static void main(String[] args){
        File srcFile = new File("E:\\xx");
        
        getAllFilePath(srcFile);
    }
    
    public static void getAllFilePath(File srcFile){
        File[] fileArray = srcFile.listFiles();
        if(fileArray!=null){
            for(File file:fileArray){
                if(file.isDirectory()){
                    getAllFilePath(file);
                }else{
                    System.out.println(file.getAbsolutePath());
                }
            }
            
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值