File类总结

File类概述

  Java.io.File类

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

    把电脑中的文件和文件夹(目录)封装成了一个File对象,通过File对象中的方法可以操作文件和文件夹;

    是一个与系统无关的类,任意的操作系统都可以使用这个类中的方法操作文件和文件夹

  3个File类有关的单词:

  file:文件

  directory:文件夹,目录

  path:路径

File类的四个静态变量
static  String  pathSeparator 与系统有关的路径分隔符;

  static  char  pathSeparatorChar  与系统有关的路径分割符;

路径分割符在unix系统中是“:”,在window系统中是“;”

  static  String  separator  与系统有关的默认名称分隔符。

  staitc  char   separator  与系统有关的默认名称分隔符。

文件分割符在unix系统中是“/”,在window系统中是“\”。

File类的构造方法:

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

    String  pathname:路径的名称 

    可以是文件的路径,也可以是一个文件夹的路径

    可以是相对路径,也可以是绝对路径

    可以是存在的路径,也可以是不存在的。构造方法只是把字符串格式的路径转换为对象,和路径是否存在无关

  File(String parent, String child); 根据parent路径名称字符串和child路径名称字符串创建一个新的File对象;把路径分成两部分,父路径和子路径

  • 好处:
  • 使用起来更加的灵活,子路径和父路径可以传递不同的路径,组成File对象
  • 注意:路径是不区分大小写的

  File(File parent, String child); 根据parent抽象路径名和child 路径名字符串创建一 个新的File对象

  • 好处:
  • 父路径使用的File类型, 可以调用File类中的方法操作这个路径

File类的创建和删除功能

  boolean createNewFile()创建文件

  • 创建的文件的路径和文件名称,在构造方法中给出
  • 返回值:boolean
  • true:创建成功
  • false:文件已经存在,不再创建
  • 注意:构造方法中给出的文件路径必须存在,否则会抛出异常

  boolean mkdir() 创建单级文件夹

  boolean mkdirs()创建多级文件夹

  • 只能创建文件夹,不能创建文件
  • 返回值:
    true:创建成功

        false:文件夹已经存在

  • 注意:构造方法中给出的文件路径必须存在,否则会抛出异常

  boolean delete()删除此抽象路径名表示的文件或目录

  • 返回值:
  • true:删除成功
  • false:文件/文件夹不存在
  • 注意:此方法删除不走回收站,直接在硬盘删除

File类的判断方法:

  boolean  isFile(); 判断是文件吗

  boolean  isDirectory(); 判断封装的路径是不是文件夹

  boolean  exists(); 判断File构造方法封装的路径是否存在

File类的获取方法:

  File  getAbsoluteFile();返回此抽象路径名的绝对路径名形式

  String  getAbsolutePath();返回抽象路径名的绝对路径名字符串

  String  getName();获取路径中最后部分的名字

  String  getPath();获取构造方法中的路径,把路径转换为字符串

  String  getParent();  返回String对象

  File   getParentFile();返回File对象 。获取父路径,返回的是文件末尾的父路径

   long  length();返回路径中表示的文件路径的字节数,文件夹没有大小

File类的遍历目录的功能

  • 1.String[]  list();获取目录中的每一个文件/文件夹的名字,并且存到String数组中
  • 2.File[]  listFiles() 获取目录中的每一个文件/文件夹的File对象,并且存到File数组中
  • 注意:
  • 构造方法中传递的目录必须存在,否则就会抛出空指针异常
  • 构造方法中传递的必须是目录,不能是文件,只能遍历目录,否则就会抛出空指针异常
  • 这个方法可以获取隐藏文件或者隐藏文件夹
  • static  File[]  listRoots(); 列出全部的跟目录

递归

递归:

  方法自己调用自己;

  作用:当调用方法的时候,方法的主体不变,但是每次调用方法的参数改变,就可以使用递归

  递归分为两种:直接递归和间接递归

  直接递归:方法自己调用自己

  间接递归:可以是A调用B,B再调用A

   注意:

    1. 递归一定要有条件限定,保证递归能够停下来,否则发生栈内存溢出
    2. 在递归中虽然有限定条件,但是递归次数不能太多,否则也会发生栈内存溢出
    3. 构造方法,禁止递归,编译报错

  案例:获取1-5的阶乘

  

public static void main(String[] args){

    getJC(5);
}
public static int getJC(int n ){ if(n==1){
return 1;
}
return n*getJC(n-1); }

  

java学习笔记IO之File类的更多相关文章

  1. Java学习笔记36(File类)

    File类可以对操作系统中的文件进行操作: File类的静态成员变量: package demo; import java.io.File; public class FileDemo { publi ...

  2. java学习笔记27(File类)

    File类: 定义:文件和目录径的抽象表示形式, Java中将路径或者文件封装成File对象 1.File类的静态成员变量 package com.zs.Demo2; import java.io.F ...

  3. Java学习之IO之File类一

    File的操作 package com.gh.file; import java.io.File; import java.io.IOException; /** * File操作 * @author ...

  4. Java学习之IO之File类二

    之前学了File便想把我学习视频的名字改了,因为文件名太长不好看,便试着写了个功能实现 package com.gh.file; import java.io.File; /** * 批量文件命名 * ...

  5. java学习笔记07--日期操作类

    java学习笔记07--日期操作类   一.Date类 在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可. public class T { public ...

  6. java学习笔记之日期日历类

    java学习笔记之日期日历 Date日期类概述: 表示特定的瞬间,精确到毫秒 Date类的构造方法: 1.空参数构造方法 Date date = new Date(); 获取到当前操作系统中的时间和日 ...

  7. Android(java)学习笔记87:File类使用

    package cn.itcast_01; import java.io.File; /* * 我们要想实现IO的操作,就必须知道硬盘上文件的表现形式. * 而Java就提供了一个类File供我们使用 ...

  8. Android(java)学习笔记26:File类的使用

    1. File类的使用  package cn.itcast_01; import java.io.File; /* * 我们要想实现IO的操作,就必须知道硬盘上文件的表现形式. * 而Java就提供 ...

  9. Java 学习笔记 IO流与File操作

    可能你只想简单的使用,暂时不想了解太多的知识,那么请看这里,了解一下如何读文件,写文件 读文件示例代码 File file = new File("D:\\test\\t.txt" ...

随机推荐

  1. HDU1754 I hate it(线段树 单点修改)

    好久没打线段树,来一道练练手,但说句实话,I really hate it!!!!   很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感.  不管 ...

  2. HDU1005 Number Sequence (奇技淫巧模拟)

    A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mo ...

  3. Linux双网卡绑定实现负载均衡

    系统环境:CentOS release 6.9 (Final) Linux centos6 2.6.32-696.10.1.el6.x86_64 Ubuntu系统下使用ifenslave进行网卡配置, ...

  4. WPF TextBox按字节长度限制输入

    前两天做一个项目的时候,由于页面没有限制TextBox的输入长度,所以,后台直接报错了,超出数据库最大的长度. 数据库的长度是按照字节来计算的,而且不同的编码格式,汉字占用的字节长度又不相同,比如,我 ...

  5. 逆向知识第八讲,if语句在汇编中表达的方式

    逆向知识第八讲,if语句在汇编中表达的方式 一丶if else的最简单情况还原(无分支情况) 高级代码: #include "stdafx.h" int main(int argc ...

  6. Java--集合(一)

    一.前序     前几篇文章我结合数据结构说了一些常用的集合,但是我感觉那样可能不系统,于是乎想着重写,按照由整体到细节的方式去写,这样才能更好的把握集合,废话不多说开始吧: 二.集合框架      ...

  7. Mybatis框架的搭建和基本使用方法

    1.1MyBatis的下载 最新yBatis可以在github官网上下载: https://github.com/mybatis/mybatis-3 1.2 Mybatis Jar包 1.3MyBat ...

  8. git打包

    git help tag #tag的用法git taggit tag -d xxx #删除taggit tag v1.1 #新增taggit describe --tag #  

  9. springMVC+spring+MyBatis(SSM)的简单配置

    SSM(Spring+SpringMVC+MyBatis)框架集由Spring.SpringMVC.MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架. 其中: Spring是一 ...

  10. shell 备份脚本

    [root@izwz9hmoz58gvtu0ldpm0iz ~]# cat /usr/local/aaaa/shell_script/Mysql_Dump_LJY.sh #! /bin/bash to ...