文件的创建:

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. SQLSERVER判断是否为数字ISNUMERIC

    从SQLSERVER 2005新增isnumeric函数,返回1则字符串是数值,返回0则认为不是数值 但里面有些其他的字符也返回1,不知道是怎么个思路,是不是花旗国的规则? SELECT ISNUME ...

  2. jenkins 2.282+Publish over ssh 1.22版本发布日志不能实时显示

    问题解决了.作个记录,最新的 [Publish Over SSH]插件1.22版本,jenkins 282版本.1. ssh server 的Verbose output in console要开启2 ...

  3. linux check folder files how many files

    https://linuxhandbook.com/count-number-files/ tree -a

  4. OpenLayer——绘制带箭头的线

    绘制带箭头的线,计算相对复杂,多少是有点影响性能了.更简单的做法:初始.目标点用不同的点进行强调即可. <!DOCTYPE html> <html lang="en&quo ...

  5. centos7 启动报错 Failed to mount /sysroot

    centos7 启动报错 Failed to mount /sysroot   场景: centos7系统异常关闭后,启动后进入不了图形化界面 解决方法: 1. 定位报错原因 进入单用户模式后执行下面 ...

  6. EasyExcel工具使用

    pom文件: <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel< ...

  7. gitea 常用命令

    gitea 常用命令   配置文件位置 /home/custom/conf/app.ini cd //home启动nohup ./gitea web & [root@iZ4jbz0xj0nx7 ...

  8. PostgreSQL Win10 安装、创建表并添加数据(安装细节+常见错误避坑)

    1.下载:postgresql-14.5-1-windows-x64.exe 地址:Download PostgreSQL 2.安装: 下一步即可,注意记住期间设置的超级管理员密码和设置的端口号 安装 ...

  9. vue 项目中笔记-持续更新

    9.class常用操作: :class="packUp ? 'search-form-btn active fr' : 'search-form-btn fr'" :class=& ...

  10. Safari浏览器如何收藏网页?

    Safari浏览器是MacOS所自带的一款功能强劲的浏览器,许多MacOS的用户在使用过Safari浏览器后就不会去下载其他浏览器了.对于很多Mac新手用户来说,如何使用Safari浏览器来收藏喜欢的 ...