JAVA笔记 ---- 文件操作

文件操作

具体内容

  • java语言里面提供了有对于文件操作系统的支持,而这个支持是在java.io.File类里面定义了,在整个java体系里面,File类是唯一一个与文件本身操作有关的类。
  • 想要对文件进行操作,必须提供完成的路径而后才可以调用相应的方法进行处理。
  • 下面我们来看看File类的基本使用;

File的基本使用

  • 我们打开开发文档可以看出,File类是Comparable接口的一个子类。所以,我们可以知道,我们File类的对象是可以直接进行排序的。
import java.io.File;
import java.io.IOException;
public class 文件操作练习 {
    public static void main(String[] args) throws IOException {
        File file = new File("D:\\文件操作专用\\a.txt");
        if(!file.exists()){         //判断文件是否存在,存在则不创建,不存在直接创建
            file.createNewFile();   //直接创建文件
        }
    }
}
  • 这就是文件的创建以及判断文件是否在系统里面存在。
  • 然后就是因为不同的系统,他们的文件分割符也是不一样的,所以,我们java提供了一个分隔符常量: public static finalString separator;
  • 所以,我们在写文件的绝对路径的时候,要是不确定你写的分割符是否正确,就可使用分隔符常量;
File file = new File("D:" + File.separator + "文件操作专用 " + File.separator + "a.txt");
  • 这样也是可以的。
  • 在我们使用File类进行文件处理的时候要注意:
  • 程序 -> JVM -> 操作系统函数 -> 文件处理
  • 在文件创建的时候有一个重要的前提:文件的父路径必须首先存在。
  • 获取父路径:public File getParentFile();
  • 创建文件夹:public boolean mkdirs();
  • 有了这两个,我们就可以进行文件的创建了,那么你父亲节点再多也可以进行创建。
public class 文件操作练习 {
    public static void main(String[] args) throws IOException {
        File file = new File("D:" + File.separator + "文件操作专用" + File.separator + "1" + File.separator + "2" + File.separator + "a.txt");
        if(!file.getParentFile().exists()){
            file.getParentFile().mkdirs();
        }
        if(!file.exists()){
            file.createNewFile();
        }
        // file.delete();  文件的删除!
    }
}
  • 所以来讲,这样才是文件创建的标准形式,要考虑到位,好兄弟们。
  • 然后我们来获取一下文件的目录,以一个目录为根节点,然后目录下的子文件名全部输出
public class 文件操作练习 {
    public static void main(String[] args) throws IOException {
        File file = new File("D:" + File.separator);
        if(file.isDirectory()){
            File [] ans = file.listFiles();
            for(int i=0;i<ans.length;i++){
                System.out.println(ans[i]);
            }
        }
    }
}
  • 还是挺好用的,说实话。
  • 然后我们来看看进阶版本的,直接输出所有的目录以及结构
public class 文件操作练习 {
    public static void main(String[] args) throws IOException {
        File file = new File("D:" + File.separator);
        fun(file);

    }
    public static void fun(File file){
        if(file.isDirectory()){
            File [] ans = file.listFiles();
            if(ans != null){
                for(int i=0;i<ans.length;i++){
                    fun(ans[i]);
                }
            }
            System.out.println(file);
        }
    }
}
  • 直接美滋滋;
  • 然后我们看一个更牛的,批量进行文件名的修改
public class 文件操作练习 {
    public static void main(String[] args) throws IOException {
        File file = new File("D:" + File.separator + "文件操作专用");
        fun(file);
    }
    public static void fun(File file){
        if(file.isDirectory()){
            File [] ans = file.listFiles();
            if(ans != null){
                for(int i=0;i<ans.length;i++){
                    fun(ans[i]);
                }
            }
            System.out.println(file);
        }else{
            if(file.isFile()){
                String fileName = null;
                if(file.getName().contains(".")){
                    fileName = file.getName().substring(0,file.getName().lastIndexOf(".")) + ".doc";
                }else{
                    fileName = file.getName() + ".doc";
                }
                File newfile = new File(file.getParent(),fileName);
                file.renameTo(newfile);
                System.out.println(fileName);
            }
        }
    }
}

  • 这件建议自己建立一个小文件玩,要玩记得备份,不然我怕你哭,啊哈哈哈哈哈。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木木不会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值