File类---Day28
概述
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的更多相关文章
- java中File类的使用
public class FileLei { public static void main(String[] args) throws IOException { //..表示上 ...
- File 类
File 类:文件和目录(文件夹)路径名的抽象表现形式. 方法 1.创建功能 public boolean createNewFile():创建文件 public boolean mkdir():创建 ...
- C#File类常用的文件操作方法(创建、移动、删除、复制等)
File类,是一个静态类,主要是来提供一些函数库用的.静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和 打开一个文件. File类方法的参量很多时候都是路径path ...
- File类基础
File类的作用: Java的io包中定义了File类,用于对文件或文件夹的管理操作. File类只能够用于表示文件或文件夹的信息(属性)和对该文件或文件夹的删除创建操作 (不能对内容进行访问) 通过 ...
- 【转】File类应用 - FilenameFilter 和 FileFilter
FilenameFilter & FileFilter FilenameFilter 和 FileFilter 都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码 ...
- Java篇-File类之创建删除
/** * */ package com.io.file; import java.io.File; import java.io.IOException; import org.junit.Test ...
- JavaIO之File类
Java-IO之File类 Java-IO之File类 1. File类 1.1. File类说明 1.2. 体验 File 类 1.3. 构造一个 File 类实例: 1.4. 路径: 1.4.1. ...
- I/O流——File类及使用
I/O框架介绍 I/O是计算机输入/输出的接口.Java的核心库java.io提供了全方面的I/O接口,包括:文件系统的操作,文件读写,标准设备的输出等. File类及使用 ① 一个File类的对 ...
- 初学File类
对File类的基本方法的理解 今天刚开始学了File类 一开始看思想编程看得迷迷糊糊的,之后受不了了,直接去看API文档 归纳: File->java.util File类的主要方法: 构造方法 ...
随机推荐
- switch实现成绩打等级
#include <stdio.h> int main() { int grade; scanf_s("%d", &grade); grade = grade ...
- sikuli for循环例子
hover("fiE.png")for x in range(99): type('p',KEY_CTRL) wait("HEIHEUULEWW5.png") ...
- jmeter请求参数中文乱码及无法读取CSV文件解决办法
解决办法:参考http://blog.csdn.net/u012167045/article/details/70868306 版本:2.6 我是修改请求http请中的编码为Content encod ...
- python27期day10:函数的动态参数、函数的注释、函数的名称空间、函数的嵌套、global(修改全局的)、nonlocal(修改局部的)、函数名的第一类对象及使用、作业题。
1.动态参数的作用: 能够接收不固定长度参数 位置参数过多时可以使用动态参数 * args是程序员之间约定俗称(可以更换但是不建议更换) * args获取的是一个元组 ** kwargs获取的是一个字 ...
- [LeetCode] 850. Rectangle Area II 矩形面积之二
We are given a list of (axis-aligned) rectangles. Each rectangle[i] = [x1, y1, x2, y2] , where (x1, ...
- convert decimal to binary using inbuilt function
package testpacknm; import java.util.Scanner; public class testcnm { public static void main(String[ ...
- python运维开发常用模块(二)IPy
1.安装 IP地址规划是网络设计中非常重要的一个环节,规划的好坏会直 接影响路由协议算法的效率,包括网络性能.可扩展性等方面,在这个 过程当中,免不了要计算大量的IP地址,包括网段.网络掩码.广播地 ...
- Windows / Office - KMS激活
Windows / Office - KMS激活 支持Windows操作系统,支持Office软件:包括Windows 10,Office 2016:包括VL版本和MSDN版. (UPDATE: Of ...
- session的工作原理与session用法
一直在使用session存储数据,一直没有好好总结一下session的使用方式以及其工作原理,今天在这里做一下梳理. 这里的介绍主要是基于php语言,其他的语言操作可能会有差别,但基本的原理不变. 1 ...
- [转帖]ASML EUV光刻机累计生产450万块晶圆:一台12亿元
ASML EUV光刻机累计生产450万块晶圆:一台12亿元 来源驱动之家 ...网页被我关了 就这样吧. 截至目前,华为麒麟990 5G是唯一应用了EUV极紫外光刻的商用芯片,台积电7nm EUV工艺 ...