首页 > 其他分享 >File类

File类

时间:2024-07-27 17:54:42浏览次数:7  
标签:文件 String 递归 路径名 File public

 1.1 File类的概述

数据的存储:计算机中的硬盘和计算机中的内存

计算机中的硬盘:好处是可以持久化存储数据,当计算机断电了,数据依然可以在下次开机的时候进行读取和使用。弊端是相较于内存来说,读取和存储数据速度慢一些.

计算机中的内存:好处是存储数据和读取数据的速度会变的非常快。弊端是相较于硬盘来说,内存断电了或者程序停止了存储在内存中的数据就会消失。

通过File类与IO流进行搭配使用就可以通过Java代码将数据从内存写入到硬盘文件 或者从硬盘文件读取到内存中。

从硬盘文件中读取数据 将数据写入到硬盘文件中。离不开文件这两个字。要操作文件就必须知道这个文件在什么地方,在Java中万物皆对象,在计算上的文件也可以使用Java中的一个对象来表示。

File类就是文件和目录路径名的抽象表示形式。

主要用于文件和目录的创建、查找和删除等操作。也就是说File类可以表示一个文件也可以表示一个文件夹,我们可以通过操作File对象提供的相关方法对它所表示的文件/文件夹进行操作。

1.2 File类的构造方法

public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。

public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。

public File(File parent, String child):从父抽象路径名和子路径名字符串创建新的 File实例。

最后输出结果都是一样的;

注意事项:File封装的对象仅仅是一个路径。他可以是存在的,也可以是不存在的。存在可以操作,不存在可以创建。

1.3File类的判断方法

public boolean exists():此File表示的文件或者目录是否实际存在的。

public boolean isFile:此File是否是文件。

public boolean isdirectorr():此File表示的是否为目录;

File类的获取方法:

public String getAbsolutePath() :返回此File的绝对路径名字符串。(带盘符的路径)

public String getPath():将此File转换为路径名字符串。 (获取的是 封装路径)

public String getName():返回由此File表示的文件或目录的名称。

public long length():返回由此File表示的文件的长度。 不能获取目录的长度。

1.5相对路径和绝对路径:

绝对路径简单来说就是一个完整的路径,是从盘符开始走

相对路径就是我们在java里面写的路径,

1.6File类的创建和删除方法(相对比较重要)

public boolean createNewFile():当且仅当具有改名称的文件尚不存在时,创建一个新的文件。

public boolean delete():删除由此File表示的文件或者目录。

public boolean mkdir():创建一个单极文件夹。

public boolean mkdirs():创建一个多级文件夹。

注意:删除键需慎用:

File类的遍历方法:

public String [] list():返回一个String数组,储存的是File目录中所有的子文件或者子目录的名称。

public File[] listFiles():返回一个File数组,储存的是Flie目录中所有的子文件或者子目录的路径的File对象。

public String [] list()方法:

public File[] listFiles()方法:

注意事项:如果文件夹路径不存在或者没有访问权限,以上2个方法获取的时候会返回null,容易出现空指针异常。所以大家在遍历获取到的子文件和子目录之前,应该做非空判断

二.方法递归

2.1方法递归的概述:

递归简单来说就是创建一个方法然后自己一直调用自己。

递归的注意事项:递归要有出口不然就会报错其次就是递归的调用次数不宜过多

这就是递归的一个简单的形式。

下面来用递归做一个题

用递归求1到100的和。

这是递归打印的流程

当然我们也可以用for循环打印这算是,接下来是递归的主要用法。

现在是用递归打印某个文件所有的文件:上代码。

完结。。。

标签:文件,String,递归,路径名,File,public
From: https://blog.csdn.net/2401_85217463/article/details/140718184

相关文章

  • CentOS Too many open file
    诊断过程查看当前进程已打开的fd查看系统fs.file-max查看系统单个进程限制fdfs.nr_open查看用户的ulimit的nofile的值调整ulimitnofile值至适当验证调整的值参数建议查看出错时系统fd使用详情查看系统所有open的fd, 如下lsof|awk'{print$2}'|sort|uniq......
  • 【漏洞复现】用友 NC FileReceiveServlet 任意文件上传漏洞
    免责声明:        本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测试时,可能会违反某些法律法规......
  • Android Studio自带Profiler工具内存泄露分析步骤
    1、运行需要检测内存泄露的程序这里以“com.example.opengltest”程序为例。2、点击Profiler按钮3、点击SESIONS"+"号按钮选择设备,选择对应设备下的应用或进程4、双击内存区块5、操作应用程序要检测的部分或模块6、关闭应用程序,多次点击鼠标右键“Forcegabagecollectio......
  • 【Python】成功解决:`FileExistsError: [Errno 17] File exists: ‘xxx’`
    【Python】成功解决:FileExistsError:[Errno17]Fileexists:‘xxx’在Python编程中,处理文件和目录是常见的任务之一。然而,当我们尝试执行某些文件操作,如创建新文件或目录时,如果目标文件或目录已经存在,就可能会遇到FileExistsError异常。这个错误通常伴随着消息[Errno1......
  • KingbaseES 等待事件之DataFileRead
    等待事件含义IO:DataFileRead等待事件发生在会话连接等待后端进程从存储中读取所需页面,原因是该页面在共享内存中不可用或无法找到。所有查询和数据操作(DML)操作都访问缓冲池中的页面,语句包括SELECT、UPDATE和DELETE等。例如,UPDATE可以从表或索引中读取页面。如果请求或更新的页......
  • Makefile知识点总结(Linux下开发Risc-V单片机实例)
    Makefile会不会写makefile,从一个侧面决定一个人是否具备完成大型工程的能力。Makefile和make命令一起配合使用,为什么要使用makefile,原因以及优点在下文解释。简单辨析一下建立工程的三种方式Makefile使用非常广泛,通用性强,可跨平台但是语法比较严格,写一个通用,便于管理......
  • 从 DOCKER 下的共享卷在 Linux 中执行 PyInstaller 生成的文件时出现 Python 子进程 F
    我已经使用PyInstaller生成了一个可执行文件,例如test(没有扩展名,因为它是Linux)并将其存储在一个目录中,例如data我有一个Python程序,如下所示:importsubprocessfrompathlibimportPath...defrun_exe():try:#getcurrentdirectory......
  • 【云原生之kubernetes实战】在k8s环境下部署go-file文件分享工具
    【云原生之kubernetes实战】在k8s环境下部署go-file文件分享工具一、go-file介绍1.1go-file简介1.2go-file特点1.3go-file使用场景二、本次实践介绍2.1本次实践简介2.2本次环境规划2.3本次实践存储介绍2.4k8s存储介绍三、检查k8s环境3.1检......
  • DASCTF 2023 & 0X401七月暑期挑战赛【PWN】(FileEditor篇)
    DASCTF2023&0X401七月暑期挑战赛【PWN】(FileEditor篇)题目保护情况(保护全家桶)64位ida逆向模拟了一个类似vim的功能,有打开文件,打印内容,插入行,删除行,复制行,和编辑行,还有查找字符和替换字符的功能,然后就是保存退出一个一个来分析吧1.open就是打开一个file文件。没有会创建......
  • Modelsim仿真时报错Error (vlog-7) Failed to open design unit file XXXXX in read m
    根据之前遇到的问题Vivado关联Modelsim仿真时一直卡在Executinganalysisandcompilationstep…的解决我在TclConsole窗口查看出现的Error信息。出现报错:Error:(vlog-7)Failedtoopendesignunitfile“XXXXX”inreadmode查阅网上解决办法VivadoError:(vlog-......