java File 中 mkdir()和 mkdirs()的区别

mkdir()
只能在已经存在的目录中创建创建文件夹。
mkdirs()
在创建文件夹时,如果其父目录不存在,可以自动创建其父目录和当前目录。列如要创建d目录:path=F:/a/b/c/d

如果父目录F:/a/b 或者 F:/a/b/c 不存在,用mkdirs()会自动创建目录到d文件夹。

mkdirs
public boolean mkdirs()

创建一个目录,它的路径名由当前 File 对象指定,包括任一必须的父路径。

返回值:
如果该目录(或多级目录)能被创建则为 true;否则为 false。

mkdir
public boolean mkdir()

创建一个目录,它的路径名由当前 File 对象指定。

返回值:
如果该目录能被创建则为 true;否则为 false。

时间: 2024-11-07 11:53:26

java File 中 mkdir()和 mkdirs()的区别的相关文章

转 Java多线程中Sleep与Wait的区别

Java中的多线程是一种抢占式的机制,而不是分时机制.抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行. 共同点: 1. 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回. 2. wait()和sleep()都可以通过interrupt()方法 打断线程的暂停状态 ,从而使线程立刻抛出InterruptedException. 如果线程A希望立即结束线程B,则可以对线程B对应的Thread实例调用interrupt方法.如果此刻线程B正在wait/sleep/

java集合中List与set的区别

java集合中List与set的区别.     List可以存储元素为有序性并且元素可以相同.     set存储元素为无序性并且元素不可以相同.     下面贴几段代码感受一下: ArrayList list = new ArrayList();//构造出List对象 list.add(1); list.add("string"); list.add(true); list.add(3.14); list.add(null); for(int i = 0; i < size()

Java File类 mkdir 不能创建多层目录,如果是多层,可以调mkdirs

public static void createDir(String destDirName) { File dir = new File(destDirName); if (!dir.exists()) {// 判断目录是否存在 dir.mkdir(); //dir.mkdirs(); //多层目录需要调用mkdirs } }   注意:在JavaFile类 的mkdir方法的实现中,不能同时创建多层目录,如果是多层,可以调mkdirs!

java mkdir()和mkdirs()的区别

boolean mkdir()    创建此抽象路径名指定的目录.   boolean mkdirs()    创建此抽象路径名指定的目录,包括创建必需但不存在的父目录. 也就是说,mkdir只能创建一层目录,而mkdirs可以创建多层. 举个例子:比如我的D盘下什么都没有,我想要创建D:/java/java_web这样一个嵌套目录. 如果使用mkdir就创建不了,使用mkdirs就可以创建. 而使用mkdir可以只创建一个java目录,就酱~ 为省事不管什么情况直接用mkdirs就好了~

mkdir与mkdirs的区别

项目中需要在代码中读取或创建文件保存路径,用到了mkdir,查看还有个mkdirs方法,这里记录一下两者的区别. 1.关于两者的说明如下: boolean mkdir() :  创建此抽象路径名指定的目录.   boolean mkdirs() :  创建此抽象路径名指定的目录,包括创建必需但不存在的父目录. 2.结合自己的理解及具体实践如下: mkdir():只能创建一层目录, 如: File file = new File("e:/test"); file.mkdir(); 这样会

。。。mkdir与mkdirs的区别。。。

一直想知道他俩的区别,也一直忘记了,知道今天才没有放过这个机会! mkdir的用法是正创建一层目录,比如说在C盘下创建aa文件夹,c:\aa,这个aa是不存在的,这个话,是可以用mkdir创建的,但是改成创建:c:\aa\bb,在aa文件夹下面需要创建bb文件夹,由于aa这个父文件夹不存在,因此不能够创建出bb文件夹,因此mkdir创建文件必须要有上一级的父文件夹!而mkdirs就不存这个的问题,可以随便创建,无需考虑是否有父文件夹! 终于知道了这个小小的知识点啦,(*^__^*) 嘻嘻……

java泛型中&lt;?&gt;和&lt;T&gt;有什么区别?

public static void printColl(ArrayList<?> al){                Iterator<?> it = al.iterator();                while(it.hasNext())                {                        System.out.println(it.next().toString());                }?和T都表示不确定的类型  但如

Java多线程中Sleep与Wait的区别

Java中的多线程是一种抢占式的机制,而不是分时机制.抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行. 共同点: 1. 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回. 2. wait()和sleep()都可以通过interrupt()方法 打断线程的暂停状态 ,从而使线程立刻抛出InterruptedException. 如果线程A希望立即结束线程B,则可以对线程B对应的Thread实例调用interrupt方法.如果此刻线程B正在wait/sleep/

数组 在 c++, java, c#中的 定义、初始化 区别 中括号的位置

来自"http://www.cnblogs.com/Yogurshine/archive/2012/12/29/2839238.html" (1)Java 一维数组 1) int[] a; //声明,没有初始化 2) int[] a=new int[5]; //初始化为默认值,int型为0 3) int[] a={1,2,3,4,5}; //初始化为给定值 4) int[] a=new int[]{1,2,3,4,5}; //同(3) int[] a=new int[5]{1,2,3,