概述

  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. Codeforces Round #304 (Div. 2)(CF546E) Soldier and Traveling(最大流)

    题意 给定 n 个城市,m 条边.人只能从走相邻边相连(只能走一次)的城市. 现在给你初始城市的每一个人数,再给一组每个城市人数.询问是否可以从当前人数变换到给定人数.如果能,输入"YES& ...

  2. 爬虫---Beautiful Soup 通过添加不同的IP请求

    上一篇爬虫写了如何应付反爬的一些策略也简单的举了根据UA的例子,今天写一篇如何根据不同IP进行访问豆瓣网获取排行版 requests添加IP代理 如果使用代理的话可以通过requests中的方法pro ...

  3. 精通awk系列

    安装新版本gawk awk有很多种版本,例如nawk.gawk.gawk是GNU awk,它的功能很丰富. 本教程采用的是gawk 4.2.0版本,4.2.0版本的gawk是一个比较大的改版,新支持的 ...

  4. 20180711模拟赛T3——聚变

    文件名: fusion 题目类型: 传统题 时间限制: 3秒 内存限制: 256MB 编译优化: 无 题目描述 知名科学家小A在2118年在计算机上实现了模拟聚变的过程. 我们将她研究的过程简化. 核 ...

  5. 使用Windows api 获得系统时间并生成文件夹

    // 使用window api 获得系统时间 // 生成 #include "stdafx.h" #include <Windows.h> #include <d ...

  6. Linux查看网卡传输速率总结

    1.使用ethtool命令 ethtool ens192   使用ethtool命令后面直接接网卡名称可以查看到部分信息,包括网卡协商速率等等.   还有一种如果服务器内有很多块网卡,我们想查看具体网 ...

  7. nginx配置代理时参数说明

  8. Hello 2019 F 莫比乌斯反演 + bitset

    https://codeforces.com/contest/1097/problem/F 题意 有n个多重集,q次询问,4种询问 1. 将第x个多重集置为v 2. 将第y和z多重集进行并操作,并赋值 ...

  9. GreenPlum 大数据平台--常用命令

    gpstate 命令 参数 作用 gpstate -b => 显示简要状态 gpstate -c => 显示主镜像映射 gpstart -d => 指定数据目录(默认值:$MASTE ...

  10. 读了两章的 How Tomcat Works

    周一发现了一本书.How Tomcat Works 惯例先到豆瓣搜书评.结果书评出奇的好.然后下载了PDF.从简介中看,本书的每个章节都会不断的围绕怎么建造一个Tomcat讲解.我本人比较喜欢这种造轮 ...