概述

  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. 《Linux就该这么学》课堂笔记01 linux初识

    此书作者刘遄(Liu Chuán)从事于Linux运维技术行业,并且在2012年获得红帽工程师RHCE 6版本证书,在2015年初又分别获得红帽工程师RHCE 7版本证书与红帽架构师认证RHCA顶级证 ...

  2. linux的initcall机制

    linux的initcall机制(针对编译进内核的驱动) initcall机制的由来 我们都知道,linux对驱动程序提供静态编译进内核和动态加载两种方式,当我们试图将一个驱动程序编译进内核时,开发者 ...

  3. Shiro RememberMe 1.2.4 反序列化漏洞复现

    目录 原理解释 环境搭建 复现过程 原理解释   Apache Shiro是一个Java安全框架,执行身份验证.授权.密码和会话管理.   shiro默认使用了CookieRememberMeMana ...

  4. 2018710101110-李华《面向对象程序设计(java)》第十二周学习总结

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

  5. vs解决方案文件出错

    问题描述: 电脑死机,重启电脑后打开解决方案,提示“选择的文件不是有效的解决方案文件” 解决方案: 1. 先用记事本打开这个解决方案查看下,发现其中内容变成空白了? 2. 打开项目中的xxxx.vcx ...

  6. Github上 10 个开源免费且优秀的后台控制面板

    Web 开发中几乎的平台都需要一个后台管理,但是从零开发一套后台控制面板并不容易,幸运的是有很多开源免费的后台控制面板可以给开发者使用,那么有哪些优秀的开源免费的控制面板呢?我在 Github 上收集 ...

  7. 【CFGym102059G】Fascination Street(思维DP)

    点此看题面 大致题意: 有\(n\)个路灯,每个路灯有一定的建造费用,且建成后可照亮自身及周围距离为\(1\)的两个格子.你可以交换\(k\)次两个路灯的建造费用,求照亮所有格子的最小费用. 题意转换 ...

  8. CSP2019 Emiya 家今天的饭 题解

    这题在考场上只会O(n^3 m),拿了84分.. 先讲84分,考虑容斥,用总方案减去不合法方案,也就是枚举每一种食材,求用它做超过\(\lfloor \frac{k}{2} \rfloor\) 道菜的 ...

  9. [LeetCode] 53. Maximum Subarray 最大子数组

    Given an integer array nums, find the contiguous subarray (containing at least one number) which has ...

  10. 关于ENVI5.0菜单栏不能正常显示(win7 x86系统)

    在安装了envi5.0之后,打开显示的并不是之前4.8版本的样式也就罢了,还不能正常的将菜单栏显示出来. 上网搜了下,发现又是一个是版本兼容的问题 解决: 找到Envi5.0 右键---属性---兼容 ...