文件的创建:

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. smartgit 安装

    下载 https://www.syntevo.com/smartgit/download/ 破解删掉

  2. git常见问题集合

    注1:问题总结来自于实际使用,关于搜到的资料链接一并粘贴; 场景1:GIT本地代码处于detached HEAD的情况(又称游离状态)的解决办法; 问题:有时候git由于一些操作的问题出现了detac ...

  3. 微信小程序-自定义tabbar配置及注意事项

    1.选中要创建tabbar组件的目录,右键选定新建Componen 2.然后编写wxml代码和wxss样式 <cover-view class="tab-bar"> & ...

  4. spring security 基于角色的控制,可运行。

    基于角色的访问控制 建表语句,见 上一篇 的博文,  https://www.cnblogs.com/sdgtxuyong/p/16157870.html 在配置类中,@EnableGlobalMet ...

  5. Echarts实现不均匀刻度的方法,自定义刻度(转)

    原文地址 今天突然有个我们的咨询公司找我问一个echarts问题,这个问题确实值得一解决,很有意思. 问题是这样的.数据中有很多低于100的数值,但是最高值却能达到14000. data = [93. ...

  6. SparkRDD所有算子操作,建议全部手敲一遍

    说明: 1.以下方法全部来自这个RDD.scala,可以自己看源码 2.使用$SPARK_HOME/bin/spark-shell运行代码 3.注释部分是运行结果 //org.apache.spark ...

  7. VSCode搭建Go语言环境

    一.安装go 1. 获取go安装包   https://golang.org/dl/ 2. 本地安装(省略) 3. 配置和环境变量 GO111MODULE 是否支持gomod GOROOT go安装的 ...

  8. viewport适配解决方案

    viewport的单位vw.vh vw.vh将viewport分成了一百份.vw即 viewport width vh即viewport height 1vw等于视图单位的1%的宽度 1vh等于视图单 ...

  9. rn项目下载@ant-design/react-native时发生冲突

    rn项目,使用npm i @ant-design/react-native下载antd. 下载依赖时报错: 如果你也遇到这个问题,直接告诉你结论,那就是最新的@ant-design/react-nat ...

  10. 记录坑:Chrome谷歌浏览器最小化和页面遮挡后JS代码不稳定

    问题:用定时器 setInterval()做个滚动通知的动画,浏览器最小化时,定时器 setInterval()失效了,导致滚动条重叠了 可能原因: js代码不稳定 Chrome谷歌浏览器最小化和页面 ...