Java Directory Create mkdirs(File f)

Here you can find the source of mkdirs(File f)

Description

A hopefully more robust to concurrent creation mkdirs method: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4742723

License

Apache License

Declaration

public static void mkdirs(File f) 

Method Source Code

//package com.java2s;
/*/*from   www  .  java2s  .  co  m*/
 * Copyright (C) 2013 salesforce.com, inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.io.File;

import java.io.IOException;

public class Main {
    /**
     * A hopefully more robust to concurrent creation mkdirs method:
     * http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4742723
     */
    public static void mkdirs(File f) {
        if (f.mkdir() || f.exists()) {
            return;
        }
        File canonFile;
        try {
            canonFile = f.getCanonicalFile();
        } catch (IOException e) {
            return;
        }
        File parent = canonFile.getParentFile();
        if (parent != null) {
            mkdirs(parent); // ignore the return as it may have been created
                            // already
        }
        // lastly, let's make this directory
        canonFile.mkdir();
    }
}

Related

  1. mkdirs(File directory)
  2. mkdirs(File directory)
  3. mkdirs(File directory, String string)
  4. mkdirs(File dirs)
  5. mkdirs(File dumpFile)
  6. mkdirs(File f)
  7. mkDirs(File f)
  8. mkdirs(File f)
  9. mkdirs(File f)