首页 > 编程语言 >javaheima15 递归

javaheima15 递归

时间:2022-10-04 09:33:56浏览次数:62  
标签:文件 递归 javaheima15 文件夹 路径名 File public

Java

File

作用

  • 创建对象定位文件,可以删除、获取文件信息等。但不能读写文件内容。

构建对象的方式

  • File file = new File(“文件/文件/绝对路径/相对路径”);

File类创建对象

方法名称 说明
public File(String pathname) 根据文件路径创建文件对象
public File(String parent,String child) 从父路径名字符串和子路径名字符串创建微模块对象
public File(File parent,String child) 根据父路径对应文件对象和子路径名字符串创建文件对象
  • File对象可以定位文件和文件夹
  • File封装的对象仅仅是一个路径名,这个路径可以是存在的,也可以是不存在的

绝对路径和相对路径

  • 绝对路径:从盘符开始(一般表示本机文件,导入其他平台不一定能用)

    • 使用单反斜杠时,文件名可能会和转义字符重复所以时用双斜杠

    • File file1 = new file("D:\\itheima\\a.txt")
      
  • 相对路径:不带盘符,默认直接到当前工程下的目录寻找文件

    • File file2 = new File("模块名\\a.txt")
      
    • 如果没有模块则直接使用文件路径

对比
  • 绝对路径是带盘符的,依赖当前系统
  • 相对路径不带盘符的,默认相对到工程下开始寻找文件

判断文件类型、获取文件信息功能

方法名称 说明
public boolean isDirectory() 测试此抽象路径名表示的File是否为文件夹
public boolean isFile() 测试此抽象路径名表示的Files是否为文件
public boolean exists() 测试此抽象路径名表示的Files是否存在
public String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串
public String getPath() 将此抽象路径名转换为路径名字符串
public String getName() 返回由此抽象路径名表示的文件或文件夹的名称(带后缀名)
public long lastModified() 返回文件最后修改的时间毫秒值

创建文件的功能

方法名称 说明
public boolean createNewFile() 创建一个新的空的文件夹
public boolean mkdir() 只能创建一级文件夹
public boolean mkdirs() 可以创建多级文件夹

删除文件

方法名称 说明
public boolean delete() 删除由此抽象路径名表示的文件或空文件夹
  • delete方法直接删除不走回收站;如果删除的是一个文件,
  • 文件占用也可以直接删除

遍历功能

方法名称 说明
public String[] list() 获取当前目录下所有的“一级文件名称”到一个字符串数组中去返回
public File[] listFiles()(常用) 获取当前目录下所有“一级文件对象”到一个文件对象数组中去返回。(重点)
注意事项 listFiles方法
  • 当调用者不存在时,返回NULL
  • 当调用者是一个文件时,返回null
  • 当调用者是一个空文件夹时,返回一个长度为0的数组
  • 当调用者是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回
  • 当调用者是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏内容

递归

说明

  • 方法直接调用自己或者间接调用自己的形式成为方法递归(recursion)
  • 递归作为一种算法在程序设计语言中广泛应用

形式

  • 直接递归:方法自己调用自己
  • 间接递归,方法调用其他方法,其他方法又调回方法自己。

注意事项

  • 递归如果没有控制豪终止,会出现递归死循环,导致内存溢出现象

三要素

  • 递归的公式:f(n) = f(n-1)*n;
  • 递归的终结点:f(1)
  • 递归的方向必须走向终结点

标签:文件,递归,javaheima15,文件夹,路径名,File,public
From: https://www.cnblogs.com/yuxxiao/p/16753242.html

相关文章

  • 第一季:5递归与迭代【Java面试题】
    第一季:5递归与迭代【Java面试题】​​前言​​​​推荐​​​​第一季:5递归与迭代​​​​题目​​​​递归​​​​循环迭代​​​​小结​​​​最后​​前言20229/3012......
  • 函数与递归
    ​​https://stackoverflow.com​​​ 程序员的知乎,可以在上面提问题,回答问题Github 也是程序员网站   剑指offer 上面有很多程序编程题目函数递归什么是递归?程序调......
  • java学习之:类和对象、语句块、方法、递归结构!
    语句块和方法语句块语句块确定了局部变量的作用域。语句块嵌套,但是不能在两个嵌套的块内声明同名的变量。语句块可以使用语句块外的变量,语句块中定义的变量作用域只限于语句......
  • 递归与for循环
    #计算100以内的累加,分别使用递归和for循环#递归累加defsum(n:int):ifn<=1:return1else:returnsum(n-1)+nprint(sum(10......
  • 非递归的方式实现二分查找算法
    简介二分查找法的运行时间为对数时间O(㏒₂n),即查找到需要的目标位置最多只需要㏒₂n步,假设从[0,99]的队列(100个数,即n=100)中寻到目标数30,则需要查找步数为㏒₂100,即最......
  • 用递归函数和栈操作逆序栈
    用递归函数和栈操作逆序栈作者:Grey原文地址:博客园:用递归函数和栈操作逆序栈CSDN:用递归函数和栈操作逆序栈题目描述请设计一个算法实现逆序栈的操作,但是只能用递归函......
  • 方法、递归
    方法什么是方法方法的定义和调用packagemethod;publicclassDemo1{publicstaticvoidmain(String[]args){Strings=sayHello();Sy......
  • 复习+学习 递归
    我们继续递归的一个问题,有闭包没有递归怎么能行第一个递归的案例就是用递归求阶乘,这应该是典中典了吧<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8">......
  • 【树结构】【递归】【CTE】【PostgreSQL 】
    1表结构oid、pid为父子结构2代码点击查看代码WITHRECURSIVEfas(SELECT*FROMwg_formulaWHEREoid=1UNIONallSELECTwg_formula.*FROMwg_formul......
  • 递归
    递归A方法调用B方法,我们很容易理解!递归就是:A方法调用A方法!就是自己调用自己利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一......