JAVA之文件操作

一、常用方法:

1、打印文件路径:

使用.getName()可以打印出相对路径,也可以打印出文件/夹名

使用.getAbsolutePath()可以打印出绝对路径。

使用.getCanonicalPath()可以打印出绝对路径。

getAbsolutePath()和getCanonicalPath()方法的区别:

  • 使用getCanonicalPath()需要处理异常,即向上抛出异常或要使用try catch;而getAbsolutePath()不需要;
  • getCanonicalPath()的当前路径不特意标识,而getAbsolutePath()会写明,例如:

                D:\IDEA CODE\kkx-java\.idea和D:\IDEA CODE\kkx-java\.\.idea

2、判断是否是文件:

使用.isFile()方法

3、判断是否是路径:

使用.isDirectory()方法

4、判断磁盘上是否存在:

使用.exists()方法

5、创建文件夹:

使用.mkdir()方法

6、创建文件:

使用.createNewFile()方法

 

二、应用:

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

public class FileDemo {
    public static void main(String[] args) throws IOException {
        File file1 = new File("."); //小技巧:写相对路径时,如果拿不准相对路径的位置,
        // 可以写“.”,然后打印出来,就能知道相对路径的位置了
        System.out.println(file1.getName());
        System.out.println(file1.getAbsolutePath());
        System.out.println(file1.getCanonicalPath());
        System.out.println(file1.isFile());
        System.out.println(file1.isDirectory());
        System.out.println(file1.exists());
        //结果:
//        .
//        D:\IDEA CODE\kkx-java\.  绝对路径是到该文件所在的工程的根目录,而不是所在包名
//        D:\IDEA CODE\kkx-java
//        false
//        true
//        true
        File file2 = new File("a.txt"); //小技巧:写相对路径时,如果拿不准相对路径的位置,
        // 可以写“.”,然后打印出来,就能知道相对路径的位置了
        System.out.println(file2.getName());
        System.out.println(file2.getAbsolutePath());
        System.out.println(file2.getCanonicalPath());
        //getAbsolutePath()与getCanonicalPath()的区别:
        //1、getCanonicalPath()需要处理异常;而getAbsolutePath()不需要
        //2、getCanonicalPath()的当前路径不特意标识,而getAbsolutePath()会写明点,例如:
        //D:\IDEA CODE\kkx-java\.idea和D:\IDEA CODE\kkx-java\.\.idea
        System.out.println(file2.isFile());
        System.out.println(file2.isDirectory());
        System.out.println(file2.exists());
        //当a.txt不存在时,结果:
//        a.txt
//        D:\IDEA CODE\kkx-java\a.txt
//        D:\IDEA CODE\kkx-java\a.txt
//        false
//        false
//        false

 三、具体应用:

1、创建文件,已经存在就不创建,否则创建:

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

public class FileDemo {
    public static void main(String[] args) throws IOException {
        File file2 = new File("a.txt");
        System.out.println(file2.getName());
        if(!file2.exists()){
               file2.createNewFile(); //创建文件,创建在当前路径的工程下
        }
    }
}

2、打印当前路径下的所有以.java结尾的文件:

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

public class FileDemo {
    public static void main(String[] args) throws IOException {
         File file1 = new File("."); 
         files = file1.listFiles(new FileFilter() { //重写匿名内部类
            @Override
            public boolean accept(File pathname) {
                return pathname.isFile();
            }
        });
        System.out.println("==================");
        for(File f:files){
            if(f.getName().endsWith(".java")){
                System.out.println(f.getCanonicalPath());
            }
    }
}

//结果:
//            ==================
//            D:\IDEA CODE\kkx-java\a.java
//            D:\IDEA CODE\kkx-java\kkx-java.java

 

转载于:https://www.cnblogs.com/yanwuliu/p/10833730.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值