文件的创建:

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. 百度地图的API接口

    API接口 API:应用程序接口(API:Application Program Interface) python 为了在团队内部形成共识.防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好 ...

  2. JSONObject和JSONArray的区别

    JSONObject是用{}表示: JSONArray是用[]表示,相当于[{ }, { }],是由JSONObject的集合. 定义一个String类型 JSONObject jsonOject = ...

  3. 页面布局 Stack 层叠组件 Stack 与 Align Stack 与 Positioned 实现定位布局

    一.Flutter Stack 组件 Stack 表示堆的意思,我们可以用 Stack 或者 Stack 结合 Align 或者 Stack 结合 Positiond 来实现页面的定位布局 属性 说明 ...

  4. Accelerated molecular dynamics simulation of Silicon Crystals on TaihuLight using OpenACC 阅读

    基于OpenACC的太湖之光硅晶体加速分子动力学模拟    2020 摘要:以SW26010异构多核处理器和扩展的编程模型,使用多体势(Tersoff)执行固体共价晶体的分子动力学(MD)模拟. Am ...

  5. nginx 编译安装支持 upload progress module, upload module

    下载地址: wiki.nginx.org/HttpUploadModule wiki.nginx.org/HttpUploadProgressModule 下载后解压至:/usr/src/文件夹下,其 ...

  6. python获取主机内网中所有MAC地址

    import osimport subprocessimport socket"""python获取主机内网中所有MAC地址"""def g ...

  7. golang基本数据类型

    1.整形 默认整数类型为int 变量在选择时应遵循最小化原则 1.1 有符号(int) 类型 取值范围 占用空间(字节) int8 -2^7到 2^7-1 (-128到127) 1 int16 -2^ ...

  8. [BOM]判断是否为pc页面、是否为ios页面

    常用于pc页面与h5页面的跳转和适配,区分不同设备进行下载跳转区分. var is_pc = !(navigator.userAgent.match(/(phone|pad|pod|iPhone|iP ...

  9. window 安装淘宝镜像

    打开cmd, 输入如下命令 npm config set registry https://registry.npm.taobao.org 判断是否配置淘宝镜像成功 npm config get re ...

  10. pythonn全栈学习笔记--logging模块学习(四)

    一.logging相关配置 1 import logging 2 """ 3 asctime:运行时间 4 name:主模块名称 5 levelname:日志级别 INF ...