「Java基础17」File文件操作 java file 文件类型

createh54个月前 (12-26)技术教程36


目录

  • 1. File概述
  • 2. 创建文件File
  • 3. 常用API

1. File概述

File在java.io.File目录下,这是操作文件的对象。可以对文件进行增删改查。

2. 创建文件File

// 构造器

// 在给定路径创建文件
new File(String path)
// 在给定父类路径创建文件
new File(String parent, String child)
// 在给定父类文件对象创建文件
new File(File parent,String child)
public class Demo1 {
    public static void main(String[] args) {
        File file = getFile("test.txt");
    }
    public static File getFile(String str) {
        return new File(str);
    }
}

3. 常用API

// 文件及文件夹判断方法

// 测试此抽象路径名表示的File是否为文件夹     
public boolean isDirectory()

// 测试此抽象路径名表示的File是否为文件       
public boolean isFile()

// 测试此抽象路径名表示的File是否存在         
public boolean exists()

// 返回此抽象路径名的绝对路径名字符串         
public String getAbsolutePath()

// 将此抽象路径名转换为路径名字符串           
public String getPath()

// 返回由此抽象路径名表示的文件或文件夹的名称 
public String getName()

// 返回文件最后修改的时间毫秒值               
public long lastModified()       
public class FileTest {
    public static void main(String[] args) {
        // 创建文件对象
        File file1 = new File(FileTest.class.getResource("/file/file.txt").getFile());
        // 创建文件夹对象
        File file2 = new File(FileTest.class.getResource("/file").getFile());

        System.out.println("是否为文件夹:" + file1.isDirectory());
        System.out.println("是否为文件夹:" + file2.isDirectory());

        System.out.println("是否为文件:" + file1.isFile());
        System.out.println("是否为文件:" + file2.isFile());

        System.out.println("文件或文件夹是否存在:" + file1.exists());

        System.out.println("文件绝对路径:" + file1.getAbsolutePath());

        System.out.println("文件路径名:" + file1.getPath());

        System.out.println("文件或者文件夹名称:" + file1.getName());

        System.out.println("文件最后修改时间:" + file1.lastModified());
    }
}
// 文件删除文件

// 创建一个新的空文件
public boolean createNewFile()
// 创建文件夹
public boolean mkdir()
// 创建多级文件夹
public boolean mkdirs()
// 删除文件(不能删除非空文件夹)
public boolean delete()
public class FileTest1 {
    public static void main(String[] args) throws IOException {
        // 创建文件操作对象
        File file1 = new File(FileTest.class.getResource("/").getFile() + "temp/temp.txt");
        // 创建文件夹操作对象
        File file2 = new File(FileTest.class.getResource("/").getFile() + "temp");

        System.out.println("文件file1是否存在:" + file1.exists());
        System.out.println("文件file2是否存在:" + file2.exists());

        // 创建文件和文件夹
        file2.mkdirs();
        file1.createNewFile();

        System.out.println("文件file1是否存在:" + file1.exists());
        System.out.println("文件file2是否存在:" + file2.exists());

        // 删除文件
        file1.delete();
        file2.delete();

        System.out.println("文件file1是否存在:" + file1.exists());
        System.out.println("文件file2是否存在:" + file2.exists());
    }
}
// 获得文件遍历

// 获得所有文件或文件夹名称数组
public String[] list()
// 获得文件或文件夹操作对象列表
public File[] listFiles()(常用)
public class FileTest2 {
    public static void main(String[] args) throws IOException {
        // 创建文件夹操作对象
        File file1 = new File(FileTest.class.getResource("/").getFile());

        // 获得当前文件夹的所有一级
        String[] list = file1.list();
        for (String s : list) {
            System.out.println(s);
        }

        // 获得一级文件或文件夹操作对象数组
        File[] files = file1.listFiles();
        for (File file : files) {
            System.out.println(file.getName());
        }
    }
}

调用遍历方法注意事项:

  • 调用者不存在时,返回null
  • 调用者为文件时,返回null
  • 调用者为一个空文件夹时,返回长度为0数组
  • 调用者文件或文件夹操作权限不足时,返回null

本章结束,用于个人学习和小白入门,大佬勿喷!希望大家多多点赞收藏支撑支撑!

源码 【GitHub】 【码云】

相关文章

基于Java虚拟平台的在线Ftp Voyager JV文件传输攻略

在微头条里面我分享了“昨晚攻克了基于Java虚拟平台下Ftp Voyager JV本来只允许第一次启动变为可多次启动的技术难题,还多亏了在梦中都在探究解决该问题的技术方案,网上几乎没有该问题的技术解决...

近2万字详解JAVA NIO2文件操作,过瘾

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。从classpath中读取过文件的人,都知道需要写一些读取流的方法,很是繁琐。最近使用IDEA在打出.这个符号的时候,一行代...

批量删除数据,常见的大坑 如何批量删除数据

行数据批量delete时,InnoDB如何处理自增ID,是一个潜在的大坑。整个实验步骤如上图:第一步:建表,设定自增列;第二步:指定id=1插入,锚定第一行是id是1;第三步:不指定id,依赖自增机制...

JAVA进阶知识学习-day08 File类&递归

一、File类1.1 概述: java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。1.2 构造方法:public File(String pathna...

Java 连接操作 MySQL 数据库(增删查改操作)

环境MySQL 5.5 版本eclipseMySQL 连接驱动 mysql-connector-java-5.1.18-bin.jarmysql8.0之前的版本与之后的版本使用的jar包是不同的,在使...