Java--File类
File类:
IO流可以对文件的内容进行读写操作,在应用程序中还会经常对文件本身进行一些常规操作,例如创建一个文件,删除或者重命名某个文件,判断硬盘上某个文件是否存在,查询文件最后修改时间等。
针对文件的这类操作,JDK中提供了一个File类,该类封装了一个路径,并提供了一系列方法用于操作该路径所指向的文件。
File类用于封装一个路径,这个路径可以是从系统盘符开始的绝对路径,如 F:\file\test.txt 。
也可以是相对于当前目录而言的相对路径,如 src\Hello.java 。
File类内部封装的路径可以指向一个文件,也可以指向一个目录。
接下来首先介绍一下File类常用的构造方法:
方法声明 | 功能描述 |
File(String pathname) | 通过指定的一个字符串类型的文件路径来创建一个新的File对象 |
File(String parent , String child) | 根据指定的一个字符串类型的父路径和一个字符串类型的子路径 (包括文件名称)创建一个File对象 |
File(File parent , String child) | 根据指定的 File 类的父路径和字符串类型的子路径 (包括文件名称)创建一个File对象 |
表中列出了File类的三个构造方法。
通常来讲,如果程序只处理一个目录或文件,并且知道该目录或文件的路径,使用第一个构造方法比较方便。
如果程序处理的是一个公共目录中的若干子目录或文件,那么使用第二个或者第三个构造方法会更方便。
File类中提供了一系列方法,用于操作其内部封装的路径或者目录,例如判断 文件 / 目录是否存在、创建、删除 文件 / 目录等。
File类中的常用方法:
方法声明 | 功能描述 |
boolean exists() | 判断File对象对应的文件或者目录是否存在 若存在则返回true,否则返回false |
boolean delete() | 删除File对象对应的文件或者目录 若成功则返回true,否则返回false |
boolean createNewFile() | 当File对象对应的文件不存在时,该方法将新建一个此File对象所指定的新文件 若创建成功则返回true,否则返回false |
String getName() | 返回File对象表示的文件或文件夹的名称 |
String getPath() | 返回File对象对应的路径 |
String getAbsolutePath() | 返回File对象对应的绝对路径 (在UNIX/Linux等系统上,如果路径是以正斜线 / 开始的,则这个路径是绝对路径; 在Windows等系统上,如果路径是从盘符开始的,则这个路径是绝对路径) |
String getParent() | 返回File对象对应目录的父目录,(即返回的目录不包含最后一级子目录) |
boolean canRead() | 判断File对象对应的文件或者目录是否可读 若可读则返回true,反之返回false |
boolean canWrite() | 判断File对象对应的文件或者目录是否可写。 若可写则返回true,反之返回false |
boolean isFile() | 判断File对象对应的是否是文件(不是目录) 若是文件则返回true,反之返回false |
boolean isDirectory() | 判断File对象对应的是否是目录(不是文件) 若是目录则返回true,反之返回false |
boolean isAbsolute() | 判断File对象对应的文件或者目录是否是绝对路径 |
long lastModified() | 返回1970 年1 月1 日 0 时0 分 0 秒到文件最好修改时间的毫秒值 |
long length() | 返回文件内容长度 |
String [ ]list() | 返回指定目录的全部内容,只列出名称 |
File[ ] listFiles() | 返回一个包含了File对象所有子文件和子目录的File数组 |
package demo;
import java.io.File;
import java.io.IOException;
public class TestDemo
{
public static void main(String[] args)
{
File file = new File("g:"+File.separator+"test.txt");
if(!file.getParentFile().exists())//判断父路径是否存在
{
file.getParentFile().mkdirs();//不存在就创建
}else
{
if (!file.exists())//文件不存在
{
try
{
file.createNewFile();//创建文件
System.out.println("文件创建成功!");
} catch (IOException e)
{
e.printStackTrace();
}
}else//文件存在
{
file.delete();//删除文件
System.out.println("文件删除!");
}
}
}
}
转自:
https://blog.csdn.net/AsheAndWine/article/details/78171580
---------------
我每一次回头,都感觉自己不够努力,所以我不再回头。
---------------