概述

  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. 使用Nginx+Openresty实现WAF功能

    什么是WAF Web应用防护系统(也称为:网站应用级入侵防御系统.英文:Web Application Firewall,简称: WAF).利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针 ...

  2. Unity检视面板的继承方法研究 (一)

    对于检视面板 Inspector 的面板继承方式对项目来说是很有必要的, 比如一个基类, 写了一个很好看的检视面板[CustomEditor(typeof(XXX))], 可是所有子类的面板无法直接继 ...

  3. IDEA优秀插件分享之---Mybatis Log Plugin

    小伙伴们在使用mybatis的时候有时候会出现一些sql异常,这个时候就需要对执行的sql语句进行检查.然而mybatis一般使用log4j打印执行的sql语句,类型下面这种的: 这个时候如果sql语 ...

  4. appium自动化常用API

    常用函数 一.获得信息类API (1)获取当前页面的activity名,比如: (.ui.login.ViewPage)  current_activity() 比如我们需要实现这个登录的功能时,主要 ...

  5. MySQL数据库练习

    1.数据准备 以下为db文件,通过Navicat Premium导入数据库 /* 数据导入: Navicat Premium Data Transfer Source Server : localho ...

  6. html基础内容

    HTML基础 1. HTML 标题 HTML 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. 2. HTML 段落 HTML 段落是通过 <p& ...

  7. VIJOS-P1234 口袋的天空

    洛谷 P1195 口袋的天空 https://www.luogu.org/problemnew/show/P1195 JDOJ 1374: VIJOS-P1234 口袋的天空 https://neoo ...

  8. 读架构漫谈&我眼中的架构师

    本周是开学的第二周,读了由资深架构师王概凯 Kevin 执笔的系列专栏架构漫谈.初识这门课,懂得也不是很多,读了架构漫谈,有了一些理解. 首先作者讲述了缘起,由早期人独立自主生活到后来的集群,作者由这 ...

  9. Fishing Master (思维+贪心)

    题目网站:http://acm.hdu.edu.cn/showproblem.php?pid=6709 Problem Description Heard that eom is a fishing ...

  10. Gym101002E:K-Inversions

    \(Gym101002E:K-Inversions\) 题意描述: 题目连接链接 给定一个长度为\(N\)只包含\(AB\)的字符串,某个\(A\)的位置为\(j\),某个\(B\)的位置为\(i\) ...