概述

  java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。

构造方法

  1.public File(String pathname) :通过将给定的路径名获得File对象

  2.public File(String parent, String child) :从父路径名字符串和子路径名获得File对象。

  3.public File(File parent, String child) :从父抽象路径名和子路径名获得File对象。

 package demosummary.file;

 import java.io.File;

 /**
* public File(String pathname) :通过将给定的路径名获得File对象
* public File(String parent, String child) :从父路径名字符串和子路径名获得File对象
* public File(File parent, String child) :从父抽象路径名和子路径名获得File对象
*/
public class FileDemo1 {
public static void main(String[] args) {
//public File(String pathname) :通过将给定的路径名获得File对象
String pathname = "d:\\a.txt";
File file = new File(pathname); //public File(String parent, String child) :从父路径名字符串和子路径名获得File对象
String parent = "d:\\a";
String child = "a.txt";
File file1 = new File(parent, child); //public File(File parent, String child) :从父抽象路径名和子路径名获得File对象
File parentDir = new File("d:\\a");
String child1 = "a.txt";
File file2 = new File(parentDir, child1);
}
}

  备注:  

    1. 一个File对象代表硬盘中实际存在的一个文件或者目录。

    2. 无论该路径下是否存在文件或者目录,都不影响File对象的创建。

绝对路径和相对路径(最开始已了解,再次复习)

  绝对路径:从盘符开始的路径,这是一个完整的路径。

  相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。

文件创建和删除方法

  1.public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。

  2.public boolean delete() :删除由此File表示的文件或目录。

  3.public boolean mkdir() :创建由此File表示的目录。

  4.public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。

 package demosummary.file;

 import java.io.File;
import java.io.IOException; /**
*   1.public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
*
*   2.public boolean mkdir() :创建由此File表示的目录。
*
*   3.public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。
*
*   4.public boolean delete() :删除由此File表示的文件或目录。
*/
public class FileCreat {
public static void main(String[] args) throws IOException {
//1.public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
File file = new File("a.txt");
System.out.println("是否创建文件:"+file.createNewFile()); //2.public boolean mkdir() :创建由此File表示的目录。
File file1 = new File("newDir");
System.out.println("是否创建目录:"+file1.mkdir()); //3.public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。
File file2 = new File("newDir\\newDir");
System.out.println("是否创建多级目录:"+file2.mkdirs()); //4.public boolean delete() :删除由此File表示的文件或目录。
System.out.println("是否删除文件:"+file.delete());
System.out.println("是否删除目录:"+file2.delete());
//delete方法,如果此File表示目录,则目录必须为空才能删除
}
}

常用方法

  1.public String getAbsolutePath() :返回此File的绝对路径名字符串。

  2.public String getPath() :将此File转换为路径名字符串。

  3.public String getName() :返回由此File表示的文件或目录的名称。

  4.public long length() :返回由此File表示的文件的长度。

 package demosummary.file.fileresources;

 import java.io.File;

 /**
*   public String getAbsolutePath() :返回此File的绝对路径名字符串。
*
*   public String getPath() :将此File转换为路径名字符串。
*
*   public String getName() :返回由此File表示的文件或目录的名称。
*
*   public long length() :返回由此File表示的文件的长度。
*/
public class FileDemo2 {
public static void main(String[] args) {
File file = new File("d:\\1.txt");
System.out.println("文件的绝对路径:"+file.getAbsolutePath());
System.out.println("文件的构造路径:"+file.getParent());
System.out.println("文件名:"+file.getName());
System.out.println("文件的长度:"+file.length());
/**
* 输出结果
* 文件的绝对路径:d:\1.txt
* 文件的构造路径:d:\
* 文件名:1.txt
* 文件的长度:15
*/
}
}

  length(),表示文件的长度。但是File对象表示目录,则返回值未指定

文件或目录的判断方法

  1.public boolean exists() :此File表示的文件或目录是否实际存在。

  2.public boolean isDirectory() :此File表示的是否为目录。

  3.public boolean isFile() :此File表示的是否为文件。

 package demosummary.file;

 import java.io.File;

 /**
*   1.public boolean exists() :此File表示的文件或目录是否实际存在。
*
*   2.public boolean isDirectory() :此File表示的是否为目录。
*
*   3.public boolean isFile() :此File表示的是否为文件。
*/
public class FileDetermine {
public static void main(String[] args) {
File file = new File("d://1.txt");
File file1 = new File("d://1.txt");
File file2 = new File("d://Download");
System.out.println("文件或目录是否存在:"+file.exists());
System.out.println("是否为文件:"+file1.isFile());
System.out.println("是否为目录:"+file2.isDirectory());
/**
* 输出结果
* 文件或目录是否存在:true
* 是否为文件:true
* 是否为目录:true
*/ }
}

目录的遍历

  1.public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
  2.public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。

 package demosummary.file;

 import java.io.File;

 /**
* 1.public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
* 2.public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。
*/
public class FileIterate {
public static void main(String[] args) {
//1.public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
File dir = new File(".//src//demosummary//file");
String[] list = dir.list();
for (String s : list) {
System.out.println(s);
} System.out.println("--------分割线--------"); //2.public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。
File[] files = dir.listFiles();
for (File file : files) {
System.out.println(file);
} /**
* 输出结果
* a.txt
* FileCreat.java
* FileDemo1.java
* FileDemo2.java
* FileDetermine.java
* FileIterate.java
* fileresources
* --------分割线--------
* .\src\demosummary\file\a.txt
* .\src\demosummary\file\FileCreat.java
* .\src\demosummary\file\FileDemo1.java
* .\src\demosummary\file\FileDemo2.java
* .\src\demosummary\file\FileDetermine.java
* .\src\demosummary\file\FileIterate.java
* .\src\demosummary\file\fileresources
*/
}
}
 package demosummary.file;

 import java.io.File;

 /**
* 1.public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
* 2.public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。
*/
public class FileIterate {
public static void main(String[] args) {
//1.public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
File dir = new File(".//src//demosummary//file");
String[] list = dir.list();
for (String s : list) {
System.out.println(s);
} System.out.println("--------分割线--------"); //2.public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。
File[] files = dir.listFiles();
for (File file : files) {
System.out.println(file);
} /**
* 输出结果
* a.txt
* FileCreat.java
* FileDemo1.java
* FileDemo2.java
* FileDetermine.java
* FileIterate.java
* fileresources
* --------分割线--------
* .\src\demosummary\file\a.txt
* .\src\demosummary\file\FileCreat.java
* .\src\demosummary\file\FileDemo1.java
* .\src\demosummary\file\FileDemo2.java
* .\src\demosummary\file\FileDetermine.java
* .\src\demosummary\file\FileIterate.java
* .\src\demosummary\file\fileresources
*/
}
}

  调用listFiles方法的File对象,表示的必须是实际存在的目录,否则返回null,无法进行遍历。

File类---Day28的更多相关文章

  1. java中File类的使用

    public class FileLei {    public static void main(String[] args) throws IOException {        //..表示上 ...

  2. File 类

    File 类:文件和目录(文件夹)路径名的抽象表现形式. 方法 1.创建功能 public boolean createNewFile():创建文件 public boolean mkdir():创建 ...

  3. C#File类常用的文件操作方法(创建、移动、删除、复制等)

    File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和 打开一个文件. File类方法的参量很多时候都是路径path ...

  4. File类基础

    File类的作用: Java的io包中定义了File类,用于对文件或文件夹的管理操作. File类只能够用于表示文件或文件夹的信息(属性)和对该文件或文件夹的删除创建操作 (不能对内容进行访问) 通过 ...

  5. 【转】File类应用 - FilenameFilter 和 FileFilter

    FilenameFilter & FileFilter FilenameFilter 和 FileFilter 都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码 ...

  6. Java篇-File类之创建删除

    /** * */ package com.io.file; import java.io.File; import java.io.IOException; import org.junit.Test ...

  7. JavaIO之File类

    Java-IO之File类 Java-IO之File类 1. File类 1.1. File类说明 1.2. 体验 File 类 1.3. 构造一个 File 类实例: 1.4. 路径: 1.4.1. ...

  8. I/O流——File类及使用

    I/O框架介绍 I/O是计算机输入/输出的接口.Java的核心库java.io提供了全方面的I/O接口,包括:文件系统的操作,文件读写,标准设备的输出等. File类及使用 ①   一个File类的对 ...

  9. 初学File类

    对File类的基本方法的理解 今天刚开始学了File类 一开始看思想编程看得迷迷糊糊的,之后受不了了,直接去看API文档 归纳: File->java.util File类的主要方法: 构造方法 ...

随机推荐

  1. SpringMVC Junit Demo

    package com.zchx.test; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.L ...

  2. 201777010217-金云馨《面向对象程序设计(java)》第十三周学习

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  3. Linux用户态与内核态通信的几种方式

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Linux 用 ...

  4. oracle查看被锁的表及解除锁

    -- 查看被锁对象 select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session ...

  5. 深度学习accuracy

    accuracy=(1+3)/(1+2+3+4),即在所有样本(例子)中做出正确预测的的比例,或者说正确预测的样本数占总预测样本数的比值. precision=(1)/(1+2),指的是正确预测的正样 ...

  6. docker odoo启动比较完整的命令

    docker run --name odoo12 -p : -p : -v /root/workspace/odoo-addons/:/mnt/extra-addons -v /root/worksp ...

  7. Codeforces Round #507 (Div. 2, based on Olympiad of Metropolises) D mt19937

    https://codeforces.com/contest/1040/problem/D 用法 mt19937 g(种子); //种子:time(0) mt19937_64 g(); //long ...

  8. [探究] [Luogu4550]收集邮票的概率意义

    自认为这道题是一道比较简单的扩展题--?此处采用了和别的题解思路不同的,纯概率意义上的解法. 首先考虑一个简化版问题: 每次随机一个\([1,n]\)的整数,问期望几次能凑出所有数 这东西我写过一个b ...

  9. 使用 Java 执行 groovy 脚本或方法

    1. 引入依赖 <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groo ...

  10. 实现100以内的素数输出(Python与C++对比)

    今天从链接http://www.2cto.com/kf/201302/187699.html中看到了Python实现100以内的素数输出的算法,颇受感触.尤其是被其中的Python的列表生成器的使用方 ...