文件的创建:

package file;

import java.io.File;

import java.io.IOException;

/*

create:创建

new:新

file:文件

使用File新建一个文件

/

public class CreateNewFileDemo {

public static void main(String[] args) throws IOException {

//在当前项目目录下新建一个文件:test.txt

//1创建一个File表示要创建的文件

File file = new File("./test.txt");

//2判断该位置下是否已经存在了这个文件或目录

/


boolean exists()

判断当前File表示的文件或目录是否真实存在,存在则返回true

/

if(file.exists()){

System.out.println("该文件已存在");

}else{

//3将该文件创建出来

/


createNewFile方法的作用是将当前File表示的文件在该位置创建出来

*/

file.createNewFile();//光标在这句代码中按alt+回车

System.out.println("文件已创建");

}

}

}

文件的删除:

package file;

import java.io.File;

import java.io.FileFilter;

/**

  • 获取./src/file目录中所有名字以"D"开始的文件

    */

    public class Test2 {

    public static void main(String[] args) {

    FileFilter filter = new FileFilter() {

    //只要file表示的文件的名字是以"D"开始的则接受

    public boolean accept(File file) {

    String name = file.getName();

    System.out.println("正在过滤:"+name);

    return name.startsWith("D");

    }

    };

    File dir = new File("./src/file");

    File[] subs = dir.listFiles(filter);

    for(int i=0;i<subs.length;i++){

    System.out.println(subs[i].getName());

    }

    }

    }

文件的访问:

package file;

import java.io.File;

/**

  • java.io.File

  • File可以表示硬盘上的一个文件或目录(本质保存的是一个抽象路径)

  • File可以:

  • 1:访问其表示的文件或目录的属性

  • 2:创建删除文件或空目录

  • 3:访问一个目录中的子项

  • File不可以:

  • 访问文件数据

    */

    public class FileDemo {

    public static void main(String[] args) {

    //绝对路径的优点是清晰明了,但是缺点是路径写死了,跨平台行不好。

    // File file = new File("c:/Users/X/IdeaProjects/JSD2206_SE/demo.txt");

    //相对路径的优点是有良好的跨平台性。

    //“./”表示当前目录,在IDEA中当前目录指的是当前程序所在的项目目录

    File file = new File("./demo.txt");

     //获取file表示的文件或目录的名字
    String name = file.getName();
    System.out.println(name); //获取当前file表示的文件的大小(单位是字节)
    long len = file.length();
    System.out.println("大小:"+len+"个字节"); /*
    can:能
    write:写
    read:读
    */
    boolean cw = file.canWrite();//是否可写
    boolean cr = file.canRead();//是否可读
    System.out.println("是否可写:"+cw);
    System.out.println("是否可读:"+cr);

    }

    }

读取文件中所有的子项:

package file;

import java.io.File;

/**

  • 获取一个目录中的所有子项

    /

    public class ListFilesDemo {

    public static void main(String[] args) {

    //获取当前目录下的所有子项

    File dir = new File(".");

    /


    boolean isFile()

    判断当前File对象表示的是否为一个文件

         boolean isDirectory()
    判断当前File对象表示的是否为一个目录
    */
    if(dir.isDirectory()){//判断当前dir表示的是否为一个目录
    /*
    File[] listFiles()
    将当前File对象表示的目录中所有子项返回
    */
    File[] subs = dir.listFiles();
    System.out.println("当前目录下共:"+subs.length+"个子项");
    for(int i=0;i<subs.length;i++){
    File sub = subs[i];
    System.out.println(sub.getName());
    }
    }

    }

    }

在文件中设置过滤器找出符合过滤器要求的子项:

package file;

import java.io.File;

import java.io.FileFilter;

/**

  • 重载的listFiles方法
  • File[] listFiles(FileFilter filter)
  • 该方法允许我们传入一个文件过滤器,然后将当前File对象表示的目录中所有满足此过滤器要求的
  • 子项返回。

    /

    public class ListFilesDemo2 {

    public static void main(String[] args) {

    /


    获取./src/file目录中所有名字中含有“t”的文件

    /

    File dir = new File("./src/file");

    if(dir.isDirectory()){

    //使用匿名内部类创建一个文件过滤器

    FileFilter filter = new FileFilter() {

    /


    重写accept方法(accept:接受)

    此方法的重写原则是定义过滤器过滤File的条件。当参数file符合此过滤器

    的过滤条件时,方法应当返回为true。表达过滤器接受该file。

    */

    public boolean accept(File file) {

    String name = file.getName();

    // return name.indexOf("t")>=0;

    return name.contains("t");//contains:包含

    }

    };

    File[] subs = dir.listFiles(filter);

    for(int i=0;i<subs.length;i++){

    System.out.println(subs[i].getName());

    }

    }

    }

    }

目录的创建:

package file;

import java.io.File;

/**

  • make:做

  • directory:目录(文件夹)

  • 创建一个目录

    */

    public class MkDirDemo {

    public static void main(String[] args) {

    //在当前目录下新建一个目录:demo

    // File dir = new File("./demo");

    // File dir = new File("demo");

     File dir = new File("./a/b/c/d/e/f");
    if(dir.exists()){
    System.out.println("该目录已存在!");
    }else{
    /*
    mkdir()创建当前File表示的目录,前提是该目录所在的目录必须存在。
    mkdirs()创建当前File表示的目录,并会将所有不存在父目录一同创建出来。
    实际开发中推荐使用mkdirs这个方法。
    */

// dir.mkdir();

dir.mkdirs();

System.out.println("该目录已创建!");

}

}

}

目录的删除:

package file;

import java.io.File;

/**

  • 删除一个目录

    /

    public class DeleteDirDemo {

    public static void main(String[] args) {

    //删除当前目录下的demo目录

    // File dir = new File("./demo");

    File dir = new File("./a");

    if(dir.exists()){

    /


    delete()方法在删除目录是要求该目录必须是一个空目录

    */

    dir.delete();

    System.out.println("该目录已删除!");

    }else {

    System.out.println("该目录不存在!");

    }

    }

    }

api进阶Day1文件的创建、删除、访问、设置过滤器并查询。目录的删除、创建。的更多相关文章

  1. 从0开始,手把手教你用Vue开发一个答题App01之项目创建及答题设置页面开发

    项目演示 项目演示 项目源码 项目源码 教程说明 本教程适合对Vue基础知识有一点了解,但不懂得综合运用,还未曾使用Vue从头开发过一个小型App的读者.本教程不对所有的Vue知识点进行讲解,而是手把 ...

  2. Eclipse创建一个mybatis工程实现连接数据库查询

    Eclipse上创建第一mybatis工程实现数据库查询 步骤: 1.创建一个java工程 2.创建lib文件夹,加入mybatis核心包.依赖包.数据驱动包.并为jar包添加路径 3.创建resou ...

  3. Java File文件操作 创建文件\目录,删除文件\目录

    Java手册 java.io 类 File java.lang.Object java.io.File 所有已实现的接口: Serializable, Comparable<File> p ...

  4. Expo大作战(三十八)--expo sdk api之 FileSystem(文件操作系统)

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  5. 【Android】13.0 第13章 创建和访问SQLite数据库—本章示例主界面

    分类:C#.Android.VS2015: 创建日期:2016-02-26 一.简介 Android 内置了三种数据存取方式:SQLite数据库.文件.SharedPreferences. 这一章我们 ...

  6. 详解:基于WEB API实现批量文件由一个服务器同步快速传输到其它多个服务器功能

    文件同步传输工具比较多,传输的方式也比较多,比如:FTP.共享.HTTP等,我这里要讲的就是基于HTTP协议的WEB API实现批量文件由一个服务器同步快速传输到其它多个服务器这样的一个工具(简称:一 ...

  7. 在 ASP.NET 中创建数据访问和业务逻辑层(转)

    .NET Framework 4 当在 ASP.NET 中处理数据时,可从使用通用软件模式中受益.其中一种模式是将数据访问代码与控制数据访问或提供其他业务规则的业务逻辑代码分开.在此模式中,这两个层均 ...

  8. linux专题一之文件管理(目录结构、创建、查看、删除、移动)

    在linux系统中一切都是文件./ 在linux中为根目录,是一切文件的根目录.本文将通过linux系统的目录结构和与linux文件操作有关的相关命令(touch.mkdir.cp.mv.mv.les ...

  9. Microsoft Office Excel 不能访问文件及COM无法访问

    Microsoft Office Excel 不能访问文件及COM无法访问 Microsoft Office Excel 不能访问文件“*.xls”. 可能的原因有: 1 文件名称或路径不存在. 2  ...

  10. 在Openstack上创建并访问Kubernetes集群

    第一部分:创建集群 在Openstack部署Kubernetes集群运行Nginx容器的步骤,其中包括: 利用Murano部署Kubernetes集群 配置Openstack的安全性使Kubernet ...

随机推荐

  1. chatgpt 的训练数据时间内容估计

    I noticed that the data you quoted is dated September 2021, but it's already 2023. I apologize for t ...

  2. COOP/COHP(上)-PROOUT

    晶体轨道重叠布居 COOP(crystal orbital overlap population)的一个更为直观的名称是 重叠布居权重的态密度 (overlap population-weighted ...

  3. 动态规划-3-RNA的二级结构

    /*状态转移方程: OPT(i , j)= max(OPT(i , j − 1) , max( 1+OPT(i , t − 1)+OPT(t + 1, j − 1))), where the  max ...

  4. R6-1 输入年份和天数,输出对应的年、月、日

    R6-1 输入年份和天数,输出对应的年.月.日 分数 15 全屏浏览题目 切换布局 作者 张泳 单位 浙大城市学院 要求定义和调用函数month_day ( year, yeardy, *****pm ...

  5. 关于sql时间方面的处理

    查询大于时间两小时(例:订单设置两小时后过期 $res = Order::where(['status'=>0,'sid'=>1])->whereRaw("created_ ...

  6. SqlServer outer apply(cross apply)

    select * from baiduacg_cookies c cross apply (select top 1 * from product where AccountId=c.AccountI ...

  7. XJTUOJ #1193. 表象[弹幕偏执症]

    题目 https://oj.xjtuicpc.com/problem/1193 恋恋天下第一!(然而本菜鸡总是被阿空锤死而根本开不了normal)TAT 思路 挺吓人的一道题,看起来很像是要匹配加字符 ...

  8. css盒子在不同浏览器下的差异

    标准盒子模型 盒子模型的氛围包括四个部分:margin,border,padding,content 标准盒子模型的content不包括其他内容,只有width跟height部分     conten ...

  9. 【剑指Offer】【链表】链表中环的入口结点

    题目:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. A:创建两个指针,一个pFast一个pSlow指向链头,pFast一次走2步,pSlow一次走1步,如果两个指针必相遇 ...

  10. go读取excel的内容

    import "github.com/360EntSecGroup-Skylar/excelize" func SimulationDataHandler(){ f, err := ...