欢迎来真孝善网,为您提供真孝善正能量书籍故事!

探索文件奥秘:第37篇深度解析

时间:11-01 现代故事 提交错误

大家好,今天来为大家分享探索文件奥秘:第37篇深度解析的一些知识点,和的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

1. File类构造方法

File类构造方法.png 通过该构造方法创建一个File对象,我们将演示: public class FileDemo {

公共静态无效主(字符串[] args){

//文件构造函数演示

String pathName="e:\java_code\day22e\hello.java";

File f1=new File(pathName);//将Test22文件封装成File对象。注意:可以封装不存在的文件或文件夹并将其变成对象。

System.out.println(f1);

文件f2=new File("e:\java_code\day22e","hello.java");

System.out.println(f2);

//将父类封装到文件对象中。

文件目录=new File("e:\java_code\day22e");

文件f3=new File(dir,"hello.java");

System.out.println(f3);

}

}File类的获取方法

File类的获取方法.pngpublic class FileMethodDemo {

公共静态无效主(字符串[] args){

//创建文件对象

文件file=new File("Test22.java");

//获取文件的绝对路径,即完整路径

字符串absPath=file.getAbsolutePath();

//File中封装的路径就是获取到的路径。

字符串路径=file.getPath();

//获取文件名

字符串文件名=file.getName();

//获取文件大小

长尺寸=file.length();

System.out.println("absPath="+absPath);

System.out.println("路径="+路径);

System.out.println("文件名="+文件名);

System.out.println("尺寸="+尺寸);

}

}

三、文件和文件夹的创建删除

上面提到,我们知道通过File可以获取文件名、文件路径(目录)等信息。

接下来我们演示使用File类创建和删除文件等操作。

文件和文件夹的创建和删除.pngpublic class FileMethodDemo2 {

公共静态无效主(字符串[] args)抛出IOException {

//对文件或文件进行操作。

文件file=new File("e:\file.txt");

//创建文件,如果文件不存在则为true,如果文件存在则为false。如果路径错误,则抛出IOException。

布尔b1=file.createNewFile();

System.out.println("b1=" + b1);

//---------删除文件操作--------注意:不要进入回收站。谨慎使用------

布尔b2=file.delete();

System.out.println("b2="+b2);

//---------需要判断文件是否存在------------

布尔b3=file.exists();

System.out.println("b3="+b3);

//---------目录操作创建、删除、判断----------

文件目录=新文件("e:\abc");

//mkdir() 创建一个目录。 //dir.mkdirs();创建多级目录

布尔b4=dir.mkdir();

System.out.println("b4="+b4);

//删除目录时,如果目录中有内容,则不能直接删除。

布尔b5=dir.delete();

//只有删除目录中的所有内容后,才能保证目录为空。只有这样才能删除该目录。

System.out.println("b5=" + b5);

//---------判断文件和目录------------

文件f=new File("e:\javahaha"); //判断是文件还是目录,首先要判断是否存在。

//f.mkdir(); //f.createNewFile();

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

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

}

}

四、listFiles()方法介绍

文件都是存放在目录(文件夹)中的,那么如何获取一个目录下的所有文件或者目录下的文件夹呢?那么我们首先想一下。一个目录中可能有多个文件或文件夹。如果File中有一个函数可以获取一个目录下的所有文件和文件夹,那么该函数得到的结果要么是一个数组,要么是一个集合。让我们开始查看API。

listFile.png公共类FileMethodDemo3 {

公共静态无效主(字符串[] args){

文件目录=new File("e:\java_code");

//获取当前目录下的文件名和文件夹名。

String[] 名称=dir.list();

for(字符串名称: 个名称){

System.out.println(名称);

}

//获取当前目录下的文件和文件对象。只要拿到文件对象,就可以在里面得到想要的信息。

File[] files=dir.listFiles();

for(文件文件:个文件){

System.out.println(文件);

}

}

}注意:获取指定目录下的文件或文件夹时,必须满足以下两个条件:指定目录必须存在,且指定目录必须是目录。否则很容易导致返回的数组为null,出现NullPointerException

五、文件过滤器

。通过listFiles()方法,我们可以获取一个目录下的所有文件和文件夹,但是我们可以过滤它们吗?例如,如果我们只想要目录中具有指定扩展名的文件或包含某些关键字的文件夹怎么办?

我们可以先获取一个目录下的所有文件和文件夹,然后遍历获取当前所有的内容,在遍历的过程中进行过滤,但是这个动作有点麻烦。 Java为我们提供了相应的函数来解决这个问题。

检查File类的API,找到File类中重载的listFiles方法并接受指定的过滤器。

文件过滤器.png

文件过滤器2.pngpublic class FileDemo2 {

公共静态无效主(字符串[] args){

//获取所有扩展名为.java的文件

//创建文件对象

文件file=new File("E:\JavaSE1115\code\day11_code");

//获取指定扩展名的文件。由于所有文件都需要通过扩展名进行过滤,因此调用方法需要经过过滤器。

File[] files=file.listFiles(new MyFileFilter());

//遍历获得的所有满足条件的文件

for (文件f : 个文件) {

System.out.println(f);

}

}

}

自定义类继承FilenameFilter过滤器接口

//定义类实现文件名FilenameFilter过滤器

类MyFileFilter 实现FilenameFilter{

公共布尔接受(文件目录,字符串名称){

return name.endsWith(".java");

}

}在检查API时,我们发现listFiles(FileFilter filter)也可以接受FileFilter过滤器。它和我们讲的FilenameFilter有什么区别呢?

文件过滤器1.png

FileFilter2.pngFilenameFilter过滤器中的accept方法接受两个参数,一个是当前文件或文件夹的路径,另一个是当前文件或文件夹对象的名称。

FileFilter 过滤器中的accept 方法接受一个参数,该参数是当前文件或文件夹对象。

当我们需要过滤文件名时,可以使用FilenameFilter过滤器。当我们想要过滤当前文件或文件夹时,我们可以使用FileFilter。例如,如果我们需要当前目录下的所有文件夹,我们可以使用FileFilter过滤器。

公共类FileDemo2 {

公共静态无效主(字符串[] args){

//获取所有扩展名为.java的文件

//创建文件对象

文件file=new File("E:\JavaSE1115\code\day11_code");

//获取指定目录下的文件夹

File[] files=file.listFiles(new FileFileterByDir());

//遍历获得的所有满足条件的文件

for (文件f : 个文件) {

System.out.println(f);

}

}

}

自定义类继承FileFilter过滤器接口

//文件过滤器

类FileFileterByDir 实现FileFilter{

公共布尔接受(文件路径名){

返回路径名.isDirectory();

}

}

六、File类方法总结

File: 文件和目录路径名的抽象表示形式。施工方法:

public File(String pathname) 通过给定文件或文件夹的路径创建对应的File对象

public File(Stringparent, Stringchild) 通过给定的父文件夹路径和给定的文件名或目录名创建对应的File对象

public File(File Parent, String child) 通过给定File 对象的目录路径和给定的文件夹名或文件名创建对应的File 对象。

路径分类:

用户评论

夜晟洛

这个标题是不是跟某个文件有关?

    有13位网友表示赞同!

笑傲苍穹

"三十七" 感觉很有神秘感啊,是什么类型的文件呢?

    有19位网友表示赞同!

无关风月

wondering what kind of content this file might contain.

    有9位网友表示赞同!

断秋风

maybe it's an important document or something?

    有7位网友表示赞同!

别在我面前犯贱

the number "37" makes me curious!

    有15位网友表示赞同!

龙卷风卷走爱情

is it a photo, a text file, or maybe even a video?

    有9位网友表示赞同!

我怕疼别碰我伤口

i hope the content is interesting!

    有17位网友表示赞同!

青袂婉约

thirty-seven, such an intriguing file name.

    有11位网友表示赞同!

熏染

what secrets does this file hold?

    有7位网友表示赞同!

绳情

sounds like something worth exploring further.

    有8位网友表示赞同!

一笑傾城゛

could be something significant or just a simple note.

    有10位网友表示赞同!

冷风谷离殇

guess we'll have to open it up and find out!

    有16位网友表示赞同!

掉眼泪

is there a story behind the filename "37"?

    有13位网友表示赞同!

南初

i like how mysterious the title is.

    有12位网友表示赞同!

晨与橙与城

it's definitely piqued my curiosity.

    有16位网友表示赞同!

醉婉笙歌

wonder what program was used to create this file?

    有18位网友表示赞同!

自繩自縛

"thirty seven" leaves room for imagination.

    有9位网友表示赞同!

一尾流莺

could it be a piece of digital art?

    有8位网友表示赞同!

花菲

hopefully, it's not too large!

    有16位网友表示赞同!

站上冰箱当高冷

i'm eager to learn more about "File 37".

    有19位网友表示赞同!

【探索文件奥秘:第37篇深度解析】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活