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 递归的更多相关文章

  1. .NET 基础 一步步 一幕幕[面向对象之方法、方法的重载、方法的重写、方法的递归]

    方法.方法的重载.方法的重写.方法的递归 方法: 将一堆代码进行重用的一种机制. 语法: [访问修饰符] 返回类型 <方法名>(参数列表){ 方法主体: } 返回值类型:如果不需要写返回值 ...

  2. 算法笔记_013:汉诺塔问题(Java递归法和非递归法)

    目录 1 问题描述 2 解决方案  2.1 递归法 2.2 非递归法 1 问题描述 Simulate the movement of the Towers of Hanoi Puzzle; Bonus ...

  3. Android 算法 关于递归和二分法的小算法

     // 1. 实现一个函数,在一个有序整型数组中二分查找出指定的值,找到则返回该值的位置,找不到返回 -1. package demo; public class Mytest { public st ...

  4. 二叉树的递归实现(java)

    这里演示的二叉树为3层. 递归实现,先构造出一个root节点,先判断左子节点是否为空,为空则构造左子节点,否则进入下一步判断右子节点是否为空,为空则构造右子节点. 利用层数控制迭代次数. 依次递归第二 ...

  5. 递归实现n(经典的8皇后问题)皇后的问题

    问题描述:八皇后问题是一个以国际象棋为背景的问题:如何能够在8×8的国际象棋棋盘上放置八个皇后, 使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行.纵行或斜线上 ...

  6. C语言用分别用递归和循环求数字的阶乘的方法

    以下代码均为 自己 实现,嘻嘻! 参考文章:http://blog.csdn.net/talk_8/article/details/46289683 循环法 int CalFactorial(int ...

  7. C#递归解决汉诺塔问题(Hanoi)

    using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace MyExamp ...

  8. Java之递归求和的两张方法

    方法一: package com.smbea.demo; public class Student { private int sum = 0; /** * 递归求和 * @param num */ ...

  9. C#语言基础——递归

    递归 一.概念conception: 函数体内调用本函数自身,直到符合某一条件不再继续调用. 二.应满足条件factor: (1)有反复执行的过程(调用自身): (2)有跳出反复执行过程的条件(函数出 ...

  10. SQL Server封闭掉 触发器递归

    SQL Server关闭掉 触发器递归SQL Server  是有一个开关, 可以关闭掉 触发器递归的.EXEC sp_dboption '数据库名字', 'recursive triggers', ...

随机推荐

  1. Outlook网页版怎么设置自动回复?节假日怎么设置邮件自动回复?

    在页面顶部,选择 设置> 查看所有 Outlook 设置 选择邮件>撰写和答复. 在答复或全部答复下,选择当您从阅读窗格中答复时的默认响应: 答复: 您的答复仅发送给发件人. 全部答复: ...

  2. proguard-maven-plugin混淆代码排除方法

    当使用proguard-maven-plugin混淆代码时,如果要排除某个类中某个方法不混淆,务必参数指定全路径类名,否则会不生效.

  3. laravel常用集合的使用

    创建集合: //数组1 $connection = collect([ ['name'=>'jack','age'=>'18','email'=>'ceshi@qq.com'], [ ...

  4. linux 查询目录文件大小

  5. call bind的实现以及数组常用方法

    1.call 实现(apply 类似) Function.prototype.call= function(context){    context = context || window;     ...

  6. 记D365开发的最佳实践

    前端JS 不同的需求应该划分模块,以便日后修改,也是为了职责分离,模块分离,日后如果想分离到单独的JS文件里面也是比较方便: 对于公共的查询函数,应该做缓存,优先使用sessionStorage. 多 ...

  7. maven profile 的作用

    maven 的profile  可以是我们通过编译时指定 -P 来实现 使用不同的 属性变量. 比如: <profiles> <profile> <id>local ...

  8. EIRENE GSM-R编码计划

    Numbering plan overview This appendix provides an overview of the numbering plan as defined in this ...

  9. keil 常用调试方法

    1.内存调试方法, 参考链接: https://blog.51cto.com/u_4029519/5423341 2.汇编调试方法 常用到bootlader和应用程序的调试 1.生成bin文件.汇编文 ...

  10. css内容超出元素高度可滚动并且隐藏滚动条

    .div::-webkit-scrollbar { display: none; / Chrome Safari / } .div{ scrollbar-width: none; / firefox ...