package File.FileDemo01;
import java.io.File;
/**
* java.io.File类
* 文件和目录路径名的抽象表示形式
* java将电脑中的文件和文件夹(目录)封装为File类,可以使用File类对文件和文件夹进行操作
* 可以使用File类的方法
* 创建一个文件/文件夹
* 删除文件/文件夹
* 获取文件/文件夹
* 判断文件/文件夹是否存在
* 对文件夹进行遍历
* 获取文件大小
* File类为与系统无关的类,任何操作系统都可以使用类中方法
*
* 重点:
* 1.file
* 2.directory:文件夹/目录
* 3.path:路径;
*
* public File(String pathname):通过给定路径名字字符串转换为抽象路径名创建File
* public File(String parent,String child):通过从父路径字符串与子路径字符串创建新的File实例
* public File(File parent,File chile):从父抽象路径名与子抽象路径名字符串创建File实例
*/
public class DemoFile01 {
public static void main(String[] args) {
/**
* static String pathSeparator 与系统有关的路径分隔符,表示一个字符串
* static char pathSeparatorChar 与系统有关路径分隔符
* static String separator 与系统有关默认名称分隔符,被表示为一个String
* static char separatorChar 与系统有关默认名称分隔符
*
*
* 操作路径依据操作系统
* windows C:\develop\a\a.txt
* linux C:/develop/a/a.txt
*
* 分隔符使用File静态变量替换
* "C:"+File.separator+"develop"+File.separator+"a"+File.separator+"a.txt"
*/
String pathSeparator= File.pathSeparator;
System.out.println(pathSeparator);//路径分隔符;
System.out.println(File.pathSeparatorChar);//;
System.out.println(File.separator);//文件名称分隔符windows为\ linux为/
}
}
/**
* 路径:
* 绝对路径:
* 一个完整的路径
* 以盘符(C:,D:)开始
* c:\\user\\java\\project\\DemoFile.java
* 相对路径:
* 相对指相对于当前项目根目录(c:\\user\\java\\project)
* 如果使用当前项目根目录,路径简化为:
* c:\\user\\java\\project\\DemoFile.java->>简化为:DemoFile.java
* 路径不区分大小写;
* windows中文件分隔符为\,\为转义字符,两个\\代表一个普通\
*
*
*
*
* public File(String pathname):通过给定路径名字字符串转换为抽象路径名创建File
* public File(String parent,String child):通过从父路径字符串与子路径字符串创建新的File实例
* public File(File parent,File chile):从父抽象路径名与子抽象路径名字符串创建File实例
*/
public class DemoFile02 {
public static void main(String[] args) {
show03();
}
//构造方法1
private static void show01()
{
File file=new File("E:\\java_file:\\untitled:\\file.txt");
System.out.println(file);
}
//构造方法2
private static void show02()
{
File file=new File("E:","file.txt");
System.out.println(file);
}
/**
* File(File parent,String child)根据parent抽象路径名与child路径名字符串创建一个File实例
* 参数:
* File parent:父路径
* String child:子路径
*/
public static void show03()
{
File parent=new File("D:\\");
File file=new File(parent,"file.txt");
System.out.println(file);
}
}
/**
* File类获取功能方法
* public String getAbsolutePath();获取该File实例对象的绝对路劲名字符串
* public String getPath();将此File转换为路径名字符串
* public String getName();返回由此File表示的文件或目录名称
* public long length();返回此File表示的文件的长度
*/
public class DemoFile03 {
public static void main(String[] args) {
show01();
}
/**
* public long length()
* 返回:此File类实例对象表示的文件的长度,获取构造方法指定的文件的大小
* 注意:
* 文件夹没有大小概念,不能获取文件夹大小
* File路径不正确,length方法返回0;
*/
private static void show01(){
File file=new File("C:\\Users\\xiaomi\\Desktop\\sel.png");
System.out.println(file.length());
File file01=new File("C:\\Users\\xiaomi\\Desktop\\seh.png");
System.out.println(file01.length());//路径错误,返回0;
File file02=new File("test.txt");
System.out.println(file.getName());//获取此对象的文件或目录名称
System.out.println(file.getPath());//获取此对象的路径名字符串
System.out.println(file.getAbsolutePath());//获取绝对路径名字符串
System.out.println(file02.getPath());
System.out.println(file02.getAbsolutePath());
}
}
/**
* File类判断功能方法:
* public boolean exists()判断此File文件是否存在
* public boolean isDirectory()此File表示的是否是目录
* public boolean isFile():此File是否是文件
*/
public class DemoFileJudge {
public static void main(String[] args) {
show01();
}
private static void show01()
{
File file=new File("C:\\Users\\xiaomi\\Desktop\\sel.png");
if(file.exists())
{
System.out.println("C:\\Users\\xiaomi\\Desktop\\sel.png是否为文件:"+file.isFile());
System.out.println("C:\\Users\\xiaomi\\Desktop\\sel.png是否为目录:"+file.isDirectory());
}
File file01=new File("C:\\Users\\xiaomi\\Desktop");
if(file01.exists())
{
System.out.println("C:\\Users\\xiaomi\\Desktop是否为目录:"+file01.isDirectory());
System.out.println("C:\\Users\\xiaomi\\Desktop是否为文件:"+file01.isFile());
}
}
}
/**
* File类删除功能方法
* public boolean creatNewFile():当且仅当该名称文件不存在时,创建一个新的空文件
* public boolean delete():删除此File表示的文件或目录
* public boolean mkdir():创建由此File表示的目录
* public boolean mkdirs():创建由此File表示的目录,包括任何必须但不存在的父目录
*/
public class DemoDelete {
public static void main(String[] args)throws IOException {
show02();
}
private static void show01() throws IOException
{
File file=new File("E:\\Java_file\\untitled\\test.txt");
System.out.println(file.createNewFile());
System.out.println(file.delete());
}
/**
* public boolean mkdir():创建单级空文件夹
* public boolean mkdirs():创建多级/单级空文件夹
* 返回值:
* true:文件夹不存在,创建文件夹,返回true
* false:文件夹存在,不能创建;此File类对象表示的为文件也不可被创建
*/
private static void show02()
{
File file=new File("E:\\Java_file\\untitled\\aaa\\bbb\\ccc");
System.out.println(file.mkdirs());
System.out.println(file.delete());//文件夹中有内容,不会删除返回false;
File file01=new File("E:\\Java_file\\untitled\\111.txt");
System.out.println(file01.mkdir());
File file02=new File("E:\\Java_f\\untitled\\111");
System.out.println(file02.mkdirs());//不会抛出异常,路径不存在,不会创建
}
}
/**
* File类遍历,目录功能
* public String[] list():返回一个String数组,表示该File目录中的所有子文件或目录
* public File[] listFiles():返回一个File数组,表示该File目录中的所有子文件或目录
*
* list方法和listFiles方法遍历的是构造方法中给出的目录
* 如果构造方法中给出的目录的路径不存在,会抛出空指针;
* 如果构造方法中给出的路径不是一个目录,也会抛出空指针异常
*/
public class DemoFile05 {
public static void main(String[] args) {
show02();
}
private static void show01()
{
File file=new File("C:\\Users\\xiaomi\\Desktop");
String [] strings=file.list();//将文件封装为File类,多个File;
for (String string : strings) {
System.out.println(string);
}
}
private static void show02()
{
File file=new File("C:\\Users\\xiaomi\\Desktop");
File[] files=file.listFiles();
for (File fileName : files) {
System.out.println(fileName);
}
}
}
File类
最新推荐文章于 2024-10-14 11:08:18 发布