File类的使用

news/2024/10/19 12:35:09

一、File的定义和构造方法

File是一个类,在java.io.File包下,需要进行导包

import java.io.File;/*File【文件】: 是计算机中所有文件的抽象表示, 将来File对象目标可能存在,也可能不存在。构造方法:public File(String pathname)public File(String parent,String child)public File(File parent,String child)路径:绝对路径【完整路径】:D:\projects\IdeaProjects\bigdara32\java\src\com\shujia\day15\ketang\a1.txt相对路径:java/src/com/shujia/day15/ketang/a1.txt*/
public class FileDemo1 {public static void main(String[] args) {//public File(String pathname)
//        File f1 = new File("D:\\projects\\IdeaProjects\\bigdara32\\java\\src\\com\\shujia\\day15\\ketang\\a1.txt");
//        System.out.println(f1);
//        File f2 = new File("java/src/com/shujia/day15/ketang/a1.txt");
//        System.out.println(f2);//public File(String parent,String child)
//        File f1 = new File("D:\\projects\\IdeaProjects\\bigdara32\\java\\src\\com\\shujia\\day15\\ketang","a1.txt");
//        System.out.println(f1);//public File(File parent,String child)File file = new File("D:\\projects\\IdeaProjects\\bigdara32\\java\\src\\com\\shujia\\day15\\ketang");File f1 = new File(file, "a1.txt");System.out.println(f1);}
}

二、其中的成员方法

import java.io.File;/*创建功能public boolean createNewFile()public boolean mkdir()public boolean mkdirs()删除功能public boolean delete()重命名功能public boolean renameTo(File dest)*/
public class FileDemo2 {public static void main(String[] args) throws Exception{File file = new File("java/src/com/shujia/day15/ketang/a1.txt");//public boolean createNewFile()
//        System.out.println(file.createNewFile());//public boolean mkdir() 创建单极文件夹
//        System.out.println(file.mkdir());//public boolean mkdirs() 创建多极文件夹
//        System.out.println(file.mkdirs());//public boolean delete() 只能删除空文件夹,或一个文件
//        System.out.println(file.delete());//public boolean renameTo(File dest)
//        File file2 = new File("java/src/com/shujia/day15/ketang/李刚.txt");
//        System.out.println(file.renameTo(file2));}
}

2.判断

/*判断功能public boolean isDirectory()public boolean isFile()public boolean exists()public boolean canRead()public boolean canWrite()public boolean isHidden()*/
public class FileDemo3 {public static void main(String[] args) {File file = new File("java/src/com/shujia/day15/ketang/李刚.txt");// public boolean isDirectory()System.out.println(file.isDirectory());//public boolean isFile()System.out.println(file.isFile());//public boolean exists()System.out.println(file.exists());//public boolean canRead() 是否可读System.out.println(file.canRead());//public boolean canWrite() 是否可写System.out.println(file.canWrite());//public boolean isHidden() 是否被隐藏System.out.println(file.isHidden());}
}

3.基本获取


import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;/*基本获取功能public String getAbsolutePath()public String getPath()public String getName()public long length()public long lastModified()*/
public class FileDemo4 {public static void main(String[] args) {File file = new File("java/src/com/shujia/day15/ketang/李刚.txt");// public String getAbsolutePath() 获取绝对路径System.out.println(file.getAbsolutePath());//public String getPath() 获取相对路径System.out.println(file.getPath());//public String getName() 获取文件或文件夹的名字System.out.println(file.getName());//public long length() 获取文件中字节数System.out.println(file.length());//public long lastModified() 获取上一次修改的时间戳【毫秒级别的】
//        System.out.println(file.lastModified());String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:dd").format(new Date(file.lastModified()));System.out.println("上一次修改的时间:"+time);}
}

4.高级获取

import java.io.File;/*高级获取功能public String[] list()public File[] listFiles()*/
public class FileDemo5 {public static void main(String[] args) {File file = new File("java/src/com/shujia/day15/ketang");//public String[] list() 将目录下所有的文件以及文件夹的名字放到一个数组中返回String[] nameList = file.list();if(nameList!=null){for (String s : nameList) {System.out.println(s);}}//        assert nameList!=null;
//        for (String s : nameList) {
//            System.out.println(s);
//        }//public File[] listFiles() 将目录下所有的文件以及文件夹都封装成一个一个的File对象放到一个数组中File[] files = file.listFiles();if(files!=null){for (File file1 : files) {System.out.println(file1);}}}
}

三、练习

import java.io.File;//需求:获取ketang目录下所有.txt后缀的文件
public class FileDemo6 {public static void main(String[] args) {File file = new File("java/src/com/shujia/day15/ketang");//获取当前目录下所有的文件或者文件夹的集合File[] files = file.listFiles();if(files!=null){for (File file1 : files) {if(file1.isFile() && file1.getName().endsWith(".txt")){System.out.println(file1.getName());}}}}
}

6.练习2

import java.io.File;
import java.io.FilenameFilter;/*public String[] list(FilenameFilter filter)public File[] listFiles(FilenameFilter filter)*/
public class FileDemo7 {public static void main(String[] args) {File file = new File("java/src/com/shujia/day15/ketang");//public File[] listFiles(FilenameFilter filter)File[] files = file.listFiles(new FilenameFilter() {@Overridepublic boolean accept(File dir, String name) {// 当这里返回true的时候,表示将文件放到数组中// dir表示当前目录,name表示文件或者文件夹名字File f = new File(dir, name);return f.isFile() && f.getName().endsWith(".txt");}});if(files!=null){for (File file1 : files) {System.out.println(file1);}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/73407.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

spark sql语句性能优化及执行计划

一、优化点:1、not in 替换为 not exist;2、in 替换为 right join;3、distinct 替换为 group by;4、count(distinct) 替换为 count;5、where条件中,等号左右两边的数据类型需要一致;6、where条件中,等号左边不要有函数;7、where条件上移;8、优化点需要对照执行计划,并…

GDPC-CSA::CTF一轮web题目write up-T2 ez http

首先来看题目先不鸟提示,进去页面逛逛,F12一下,看到如下内容回头来看提示,robots.txt是网页用来告知爬虫允许和禁止访问文件的君子协议,由题我们决定先打开/robots.txt查看一下爬虫被禁止访问哪些文件,其中说不定会有线索 如果对robots.txt还不了解的可以看看这里 在网站…

AIGC时代的语音笔记工具,创意人士的福音

国庆期间,我发现了一款特别好用的语音笔记工具,它应该算是AIGC时代的新一代笔记工具了。这个工具,是那些随时会有创意想法要记录,或者经常需要做会议纪要,读书笔记的人福音。 它有几个功能让我特别喜欢。第一个是语音笔记功能,这个不像科大讯飞的语音输入法,它不仅仅是简…

初探AI之got-ocr2.0大模型本地部署与遇到的各种坑处理

一、环境搭建 1.安装cuda,本人使用的是12.1版本,下载地址:https://developer.nvidia.com/cuda-12-1-1-download-archive2.安装conda3,https://blog.csdn.net/m0_73634846/article/details/136378350 3.准备代码环境 原文: https://mp.weixin.qq.com/s/PQVrlr5FoVb89Mivzi7p…

体脂率测试

代码展示 #include<stdio.h>int main() { float h,w,t; t=h/(w*w); if(t<18.5)cout<<"偏瘦”; else if(18.5<t<23.9)cout<<"正常"; else if(23.9<t<27.9)cout<<"偏胖"; else if(27.9<t<39.9)cout<…

使用Web组件加载页面

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(MaoistLearning)➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ )➤GitHub地址:https://github.com/strengthen➤原文地址:https://www.cnblogs…

如何创建Electron + Vue3项目, 并调用C# dll

依赖环境 当前系统环境为win11,真正上手才知道环境问题才是最大的问题,希望本文能帮你节约时间。 本文参考以下资料 https://www.electronforge.io/guides/framework-integration/vue-3 perplexity.ai和kimi.ai提供其他相关资料 nodejs 在开发前需要确定你要调用的dll是32位还…