JavaSE总结(8)File类、递归

一、java.io.File:

文件 file 用来存储数据

目录  directry 文件夹 用来区分文件 存储文件

路径名 path 定位文件 文件夹

特点

    平台无关性 可以再任何平台上 获取当前平台的内容

静态常量

    static String pathSeparator  与系统有关的路径分隔符,为了方便,它被表示为一个字符串。

    // win ";"        linux ":"

    static String separator    与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。

    // win  "\"        linux "/"


二、转意符:

public class Demo02 {

    public static void main(String[] args) {

        char c  = '\'';

        System.out.println(c);

        String s = "\"";

        System.out.println(s);

        String s2 = "\\";

        System.out.println(s2);

        System.out.println("a\tb");  \t相当于一个Tab

    }

}


三、java.io.File:

绝对路径 唯一的

    d:\\work\\abc\\1.txt

相对路径

    day09\\1.txt

    在idea当中写的相对路径 他都是默认在project下

    a.txt

    D:\IdeaProjects\dashuju21\a.txt

    day09\a.txt


构造方法:

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

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

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


四、File常用方法:

(1)创建方法:

boolean createNewFile()

如果没有文件则创建一个 如果已经存在则不创建

创建成功返回true 创建失败返回false

此方法只能创建文件 不能创建文件夹

路径在构造方法中给出

win不区分大小写 java区分大小写

boolean mkdir()

创建文件夹 没有就创建 有就不创建

创建成功为true 创建失败为false

此方法只能创建文件夹 不能创建文件

路径在构造方法中给出

此方法不能创建多级文件夹

boolean mkdirs() 这个方法既可以创建

单级文件夹 也可以创建多级文件夹

(2)删除方法:

File类的删除方法

boolean delete() 此方法既可以删除文件 也可以删除文件夹

        删除文件 无论文件中是否有数据都可以删除

        删除文件夹 如果是空文件夹可以删除 如果文件夹下有内容 无论是什么内容 都删除失败

        必须先将里面的内容删除后 才可以删除文件夹

java的删除不走回收站 是永久性删除

删除有风险 操作需谨慎

(3)判断方法:

boolean exists()

判断构造方法中的路径是否存在

存在为true 不存在为false

boolean isFile()

判断是否是文件

是文件为true 不是文件为false 路径不存在为false

boolean isDirectory()

判断是否是文件夹

是文件夹为true 不是文件夹为false 路径不存在为false

(4)获取方法:

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

public String getPath() :将此File转换为路径名字符串。

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

public long length()  :返回由此File表示的文件的长度。

(5)遍历方法:

获取当前文件夹下所有文件(单级目录)​

String[] list() 获取当前文件夹下所有的文件名

构造方法中给的路径一定是文件夹 并且是存在的 否则返回null

File[] listFiles() 获取当前文件夹下所有的文件对象


五、递归:

    方法调用自身的现象

    public void method(int i ){

        if(i == 0){

            return ;

        }

        i--;

        method(i);

    }

    注意事项

        1.递归一定要有一个出口,否则就是死递归

        2.递归的次数不宜过多 否则会造成内存溢出

        3.构造方法不能递归

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343