Java 中的 File类详情

网友投稿 256 2022-11-24

Java 中的 File类详情

目录一、File类简单介绍二、 路径的分类三、 构造方法四、 成员方法

一、File类简单介绍

为什么要学习File类呢,他的作用又是什么呢?

IO流操作中大部分都是对文件进行操作,所以java就提供了一个File类供我们来操作文件,它是以抽象的方式代表文件名和目录路径名,该类主要是对文件或目录的创建,文件的查找,删除等。对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的。

二、 路径的分类

绝对路径:带有盘符号的路径

相对路径:没有带盘符号的路径,默认在根目录下

三、 构造方法

File(String pathname):根据一个路径得到File对象

File(String parent, String child):根据一个目录和一个子文件/目录得到File对象

File(File parent, String child):根据一个父File对象和子文件/目录得到File对象

示例代码:

package org.westos.demo2;

import java.io.File;

public class MyTest2 {

public static void main(String[] args){

//通过路径得到对象

File file = new File("E:\\aaa\\");

//通过父类路径和子类名得到对象

File file1 = new File("E:\\", "aaa");

//通过父类对象和子类名得到对象

File file2 = new File("E:\\");

File file3 = new File(file2, "aaa");

}

}

四、 成员方法

创建功能:

public boolean createNewFile()当具有该名称的文件不存在时,创建一个由该抽象路径名命名的新空文件。

public boolean mkdir()创建由此抽象路径名命名的目录。 public boolean

mkdirs()创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录。

示例代码:

public class FileDemo02 {

public static void main(String[] args) throws IOException {

//需求1:我要在E:\\itcast目录下创建一个文件java.txt

File f1 = new File("E:\\itcast\\java.txt");

System.out.println(f1.createNewFile());

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

//需求2:我要在E:\\itcast目录下创建一个目录JavaSE

File f2 = new File("E:\\itcast\\JavaSE");

System.out.println(f2.mkdir());

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

//需求3:我要在E:\\itcast目录下创建一个多级目录JavaWEB\\HTML

File f3 = new File("E:\\itcast\\JavaWEB\\HTML");

// System.out.println(f3.mkdir());

System.out.println(f3.mkdirs());

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

//需求4:我要在E:\\itcast目录下创建一个文件javase.txt

File f4 = new File("E:\\itcast\\javase.txt");

// System.out.println(f4.mkdir());

System.out.println(f4.createNewFile());

}

}

删除功能:

public boolean delete() ;

注意:

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

java中删除不走回收站

示例代码:

public class FileDemo03 {

public static void main(String[] args) throws IOException {

// File f1 = new File("E:\\itcast\\java.txt");

//需求1:在当前模块目录下创建java.txt文件

File f1 = new File("myFile\\java.txt");

// System.out.println(f1.createNewFile());

//需求2:删除当前模块目录下的java.txt文件

System.out.println(f1.delete());

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

//需求3:在当前模块目录下创建itcast目录

File f2 = new File("myFile\\itcast");

// System.out.println(f2.mkdir());

//需求4:删除当前模块目录下的itcast目录

System.out.println(f2.delete());

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

//需求5:在当前模块下创建一个目录itcast,然后在该目录下创建一个文件java.txt

File f3 = new File("myFile\\itcast");

// System.out.println(f3.mkdir());

File f4 = new File("myFile\\itcast\\java.txt");

// System.out.println(f4.createNewFile());

//需求6:删除当前模块下的目录itcast

System.out.println(f4.delete());

System.out.println(f3.delete());

}

}

重命名功能:

public boolean renameTo(File dest):如果路径名相同,就是改名;如果路径名不相同,就是改名并剪切

判断功能:

public boolean isDirectory():判断是否是文件夹

public boolean isFile():判断是否是文件

public boolean exists():判断文件或文件夹是否存在

public boolean canRead(): 判断是否可读

public boolean canWrite(): 判断是否可写

public boolean isHidden(): 判断文件或文件夹是否隐藏

示例代码:

public class FileDemo04 {

public static void main(String[] args) {

//创建一个File对象

File f = new File("myFile\\java.txt");

// public boolean isDirectory():测试此抽象路径名表示的File是否为目录

// public boolean isFile():测试此抽象路径名表示的File是否为文件

// public boolean exists():测试此抽象路径名表示的File是否存在

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

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

SPOqvdystem.out.println(f.exists());

}

}

获取功能:

基本获取功能:

public String getAbsolutePath():获取文件或文件夹的绝对路径

public String getPath():获取文件或文件夹的相对路径

public String getName():获取文件或文件夹名称

public long length():获取长度,字节数,可以获取文件的大小进行判断

public long lastModified():获取最后一次修改的时间,返回毫秒值,可以判断文件被修改过几次

高级获取功能:

public String[ ] list():获取目录下的所有文件或者文件夹的名称数组

public File[ ] listFiles():获取指定目录下的所有文件夹的File对象数组,返回的是File对象说明可以调用File的方法

示例代码:

public class FileDemo04 {

public static void main(String[] args) {

//创建一个File对象

http:// File f = new File("myFile\\java.txt");

// public String getAbsolutePath():返回此抽象路径名的绝对路径名字符串

// public String getPath():将此抽象路径名转换为路径名字符串

// public String getName():返回由此抽象路径名表示的文件或目录的名称

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

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

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

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

// public String[] list():返回此抽象路径名表示的目录中的文件和目录的名称字符串数组

// public File[] listFiles():返回此抽象路径名表示的目录中的文件和目录的File对象数组

File f2 = new File("E:\\itcast");

String[] strArray = f2.list();

for(String str : strArray) {

System.out.println(str);

}

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

File[] fileArray = f2.listFiles();

for(File file : fileArray) {

// System.out.println(file);

// System.out.println(file.getName());

if(file.isFile()) {

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

}

}

}

}

文件过滤接口:

想获取的时候就满足条件,要实现文件过滤接口:public String[ ] listFiles(new FilenameFilter)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Push打开量不高?快试试这几个方法!
下一篇:Hadoop 2.x常用端口及查看方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~