Java中的File类

java

  • java.io.File类: 文件和文件目录路径的抽象表示形式,与平台无关
  • File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
  • 想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。
  • File对象可以作为参数传递给流的构造器

常用构造器

  • public File(String pathname)

    以pathname为路径创建File对象,可以是绝对路径或者相对路径,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。

    绝对路径: 包含盘符在内的文件或文件目录的路径

    相对路径: 相较于某个路径下,指明的路径

  • public File(String parent,String child)

    以parent为父路径, child为子路径创建File对象。

  • public File(File parent,String child) 根据一个父File对象和子文件路径创建File对象

    路径分隔符:windows: \\ ;unix: \

举例:

public static void main(String[] args) {

// 构造器1

File file1 = new File("hello.txt");//相当于当前的工程

File file2 = new File("D:\\Java\\java_demo\\day8\\he.txt");

// main

// 函数中相当于当前的过程

// 其他函数相当于当前module的目录

System.out.println(file1);

System.out.println(file2);

//hello.txt

//D:\Java\java_demo\day8\he.txt

// 构造器2

File file3 = new File("D:\\Java\\java_demo\\day8","JavaDemo");

System.out.println(file3);

// 构造器3

File file4 = new File(file3,"hi.txt");

System.out.println(file4);

//D:\Java\java_demo\day8\JavaDemo

//D:\Java\java_demo\day8\JavaDemo\hi.txt

}

常用方法

File类的获取功能

  • public String getAbsolutePath(): 获取绝对路径
  • public String getPath() : 获取路径
  • public String getName() : 获取名称
  • public String getParent(): 获取上层文件目录路径。 若无, 返回null
  • public long length() : 获取文件长度( 即:字节数) 。 不能获取目录的长度。
  • public long lastModified() : 获取最后一次的修改时间, 毫秒值
  • public String[] list() : 获取指定目录下的所有文件或者文件目录的名称数组
  • public File[] listFiles() : 获取指定目录下的所有文件或者文件目录的File数组

    public static void test2(){

File file1 = new File("hello.txt");//相当于当前的module

File file2 = new File("D:\\Java\\java_demo\\day8\\hello.txt");

System.out.println(file1.getAbsolutePath());

System.out.println(file1.getPath());

System.out.println(file1.getName());

System.out.println(file1.getParent());

System.out.println(file1.length());

System.out.println(file1.lastModified());

System.out.println("********");

System.out.println(file2.getAbsolutePath());

System.out.println(file2.getPath());

System.out.println(file2.getName());

System.out.println(file2.getParent());

System.out.println(file2.length());

System.out.println(new Date(file2.lastModified()));

}

/*

D:\Java\java_demo\hello.txt

hello.txt

hello.txt

null

0

0

********

D:\Java\java_demo\day8\hello.txt

D:\Java\java_demo\day8\hello.txt

hello.txt

D:\Java\java_demo\day8

10

Thu May 16 20:51:39 CST 2019

* */

    public static void test3(){

File file1 = new File("E:\\java资料\\尚硅谷");

String[] list = file1.list();// 获取指定目录下的所有文件或者文件目录的名称数组

for(String s:list){

System.out.println(s);

}

System.out.println();

File[] files = file1.listFiles()// 获取指定目录下的所有文件或者文件目录的File数组

for(File f: files){

System.out.println(f);

}

}

/*

* 1_课件

day18_IDEA的使用与多线程

day19_多线程

day20_常用类

day21_常用类

day22_枚举类与注解

day23_集合

day24_集合

day25_泛型与File

day26_IO流

day27_IO流与网络编程

day28_反射

day29_动态代理与Java8新特性

day30_Java9&10&11新特性

尚硅谷_宋红康_第12章_泛型

尚硅谷_宋红康_第13章_IO流

尚硅谷_宋红康_第14章_网络编程

尚硅谷_宋红康_第15章_Java反射机制

E:\java资料\尚硅谷\1_课件

E:\java资料\尚硅谷\day18_IDEA的使用与多线程

E:\java资料\尚硅谷\day19_多线程

E:\java资料\尚硅谷\day20_常用类

E:\java资料\尚硅谷\day21_常用类

E:\java资料\尚硅谷\day22_枚举类与注解

E:\java资料\尚硅谷\day23_集合

E:\java资料\尚硅谷\day24_集合

E:\java资料\尚硅谷\day25_泛型与File

E:\java资料\尚硅谷\day26_IO流

E:\java资料\尚硅谷\day27_IO流与网络编程

E:\java资料\尚硅谷\day28_反射

E:\java资料\尚硅谷\day29_动态代理与Java8新特性

E:\java资料\尚硅谷\day30_Java9&10&11新特性

E:\java资料\尚硅谷\尚硅谷_宋红康_第12章_泛型

E:\java资料\尚硅谷\尚硅谷_宋红康_第13章_IO流

E:\java资料\尚硅谷\尚硅谷_宋红康_第14章_网络编程

E:\java资料\尚硅谷\尚硅谷_宋红康_第15章_Java反射机制

*

* */

File类的重命名功能

  • public boolean renameTo(File dest):把文件重命名为指定的文件路径

比如: file1.renameTo(file2)为例:要想保证返回true,需要file1在硬盘中是存在的,且fiile2不能在硬盘中存在;

public static void test4(){

File file1 = new File("hello.txt");// 存在

File file2 = new File("E:\\java资料\\尚硅谷\\hi.txt");// 不存在

boolean renameTo = file1.renameTo(file2);// true

System.out.println(renameTo);

}

File类的判断功能

  • public boolean isDirectory(): 判断是否是文件目录
  • public boolean isFile() : 判断是否是文件
  • public boolean exists() : 判断是否存在
  • public boolean canRead() : 判断是否可读
  • public boolean canWrite() : 判断是否可写
  • public boolean isHidden() : 判断是否隐藏

    public static void test5(){

File file1 = new File("hello.txt");

System.out.println(file1.isDirectory());

System.out.println(file1.isFile());

System.out.println(file1.exists());

System.out.println(file1.canRead());

System.out.println(file1.canWrite());

System.out.println(file1.isHidden());

File file2 = new File("E:\\java资料\\尚硅谷");

System.out.println(file2.isDirectory());

System.out.println(file2.isFile());

System.out.println(file2.exists());

System.out.println(file2.canRead());

System.out.println(file2.canWrite());

System.out.println(file2.isHidden());

// true

// false

// true

// true

// true

// false

}

File类的创建功能

  • public boolean createNewFile() : 创建文件。 若文件存在, 则不创建, 返回false
  • public boolean mkdir() : 创建文件目录。 如果此文件目录存在, 就不创建了。如果此文件目录的上层目录不存在, 也不创建。
  • public boolean mkdirs() : 创建文件目录。 如果上层文件目录不存在, 一并创建。注意事项:如果你创建文件或者文件目录没有写盘符路径, 那么, 默认在项目路径下。

public static void test7(){

File file1 = new File("D:\\iotest\\io4\\io9");

boolean mkdir = file1.mkdir();

if(mkdir){

System.out.println("创建成功1");

}

File file2 = new File("D:\\iotest\\io1\\io2");

boolean mkdir1 = file1.mkdirs();

if(mkdir1){

System.out.println("创建成功2");

}

}

File类的删除功能

  • public boolean delete(): 删除文件或者文件夹

删除注意事项:

Java中的删除不走回收站。

要删除一个文件目录, 请注意该文件目录内不能包含文件或者文件目录

public static void test6() throws IOException {

File file1 = new File("hello.txt");

if(!file1.exists()){

file1.createNewFile();

System.out.println("创建成功");

}else{

file1.delete();

System.out.println("删除成功");

}

}

以上是 Java中的File类 的全部内容, 来源链接: utcz.com/z/392272.html

回到顶部