java 文件夹中如何创建文件夹?

java 文件夹中如何创建文件夹?,第1张

File类里面有两个方法可以实现:

一个是mkdir():创建此抽象路径名指定的目录

另外一个是mkdirs(): 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。

比如你想在A文件夹创建一个B文件夹,并在B文件夹下创建c和D文件夹,可以用下面的代码实现:

import java.io.File

public class Test {

public static void main(String args[]) {

File file = new File("D:\\A\\B\\C")

file.mkdirs()

file = new File("D:\\A\\B\\D")

file.mkdir()

}

}

希望对你有帮助。。。。仍有问题可以HI我。。。

参考下面代码,说明已在代码中注释:

import java.io.File

import java.io.FileOutputStream

import java.io.IOException

import java.text.SimpleDateFormat

import java.util.Date

public class WriteFile {

 

 

    public static void main(String[] args) {

     writeFile()

    }

    

    public static void writeFile(){

     

     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")

     String content = sdf.format(new Date())

  System.out.println("现在时间:" + content)

     

     FileOutputStream out = null

        File file

        try {

          String rootFile = "D:\\tests\\license"

                file = new File(rootFile)

                if (!file.exists()) {

/*

file.mkdirs():创建没有存在的所有文件夹

file.mkdir():创建没有存在的最后一层文件夹

例如:在硬盘上有D://test 文件夹,但是现在需要创建D://test//license//save,这个时候就需要使用file.mkdirs()而不能使用file.mkdir(),另外这两个方法都是仅仅能创建文件夹,不能创建文件,即使创建D://test//license//save//systemTime.dat如果使用该方法创建的SystemTime.dat也是一个文件夹 ,而不是文件

*/

                        file.mkdirs()

                }

                File fileDat = new File(rootFile + "\\systemFile.dat")

                /*

   if(!fileDat.exists()){

//创建文件 不是文件夹,在程序中这这一步没有必要,因为

new FileOutputStream(fileDat)该语句有创建文件的功能

                 fileDat.createNewFile()//

                }

*/

                out = new FileOutputStream(fileDat)

                byte[] contentInBytes = content.getBytes()

                out.write(contentInBytes)

                out.flush()

                out.close()

                System.out.println("Done")

        } catch (IOException e) {

                e.printStackTrace()

        } finally {

                try {

                        if (out != null) {

                                out.close()

                        }

                } catch (IOException e) {

                        e.printStackTrace()

                }

        }

    }

}

 1、File类的createNewFile根据抽象路径创建一个新的空文件,当抽象路径制定的文件存在时,创建失败

  2、File类的mkdir方法根据抽象路径创建目录

  3、File类的mkdirs方法根据抽象路径创建目录,包括创建必需但不存在的父目录

  4、File类的createTempFile方法创建临时文件,可以制定临时文件的文件名前缀、后缀及文件所在的目录,如果不指定目录,则存放在系统的临时文件夹下。

  5、除mkdirs方法外,以上方法在创建文件和目录时,必须保证目标文件不存在,而且父目录存在,否则会创建失败

示例代码如下:

package book.io

import java.io.File

import java.io.IOException

public class CreateFileUtil {

   

    public static boolean createFile(String destFileName) {

        File file = new File(destFileName)

        if(file.exists()) {

            System.out.println("创建单个文件" + destFileName + "失败,目标文件已存在!")

            return false

        }

        if (destFileName.endsWith(File.separator)) {

            System.out.println("创建单个文件" + destFileName + "失败,目标文件不能为目录!")

            return false

        }

        //判断目标文件所在的目录是否存在

        if(!file.getParentFile().exists()) {

            //如果目标文件所在的目录不存在,则创建父目录

            System.out.println("目标文件所在目录不存在,准备创建它!")

            if(!file.getParentFile().mkdirs()) {

                System.out.println("创建目标文件所在目录失败!")

                return false

            }

        }

        //创建目标文件

        try {

            if (file.createNewFile()) {

                System.out.println("创建单个文件" + destFileName + "成功!")

                return true

            } else {

                System.out.println("创建单个文件" + destFileName + "失败!")

                return false

            }

        } catch (IOException e) {

            e.printStackTrace()

            System.out.println("创建单个文件" + destFileName + "失败!" + e.getMessage())

            return false

        }

    }

   

   

    public static boolean createDir(String destDirName) {

        File dir = new File(destDirName)

        if (dir.exists()) {

            System.out.println("创建目录" + destDirName + "失败,目标目录已经存在")

            return false

        }

        if (!destDirName.endsWith(File.separator)) {

            destDirName = destDirName + File.separator

        }

        //创建目录

        if (dir.mkdirs()) {

            System.out.println("创建目录" + destDirName + "成功!")

            return true

        } else {

            System.out.println("创建目录" + destDirName + "失败!")

            return false

        }

    }

   

   

    public static String createTempFile(String prefix, String suffix, String dirName) {

        File tempFile = null

        if (dirName == null) {

            try{

                //在默认文件夹下创建临时文件

                tempFile = File.createTempFile(prefix, suffix)

                //返回临时文件的路径

                return tempFile.getCanonicalPath()

            } catch (IOException e) {

                e.printStackTrace()

                System.out.println("创建临时文件失败!" + e.getMessage())

                return null

            }

        } else {

            File dir = new File(dirName)

            //如果临时文件所在目录不存在,首先创建

            if (!dir.exists()) {

                if (!CreateFileUtil.createDir(dirName)) {

                    System.out.println("创建临时文件失败,不能创建临时文件所在的目录!")

                    return null

                }

            }

            try {

                //在指定目录下创建临时文件

                tempFile = File.createTempFile(prefix, suffix, dir)

                return tempFile.getCanonicalPath()

            } catch (IOException e) {

                e.printStackTrace()

                System.out.println("创建临时文件失败!" + e.getMessage())

                return null

            }

        }

    }

   

    public static void main(String[] args) {

        //创建目录

        String dirName = "D:/work/temp/temp0/temp1"

        CreateFileUtil.createDir(dirName)

        //创建文件

        String fileName = dirName + "/temp2/tempFile.txt"

        CreateFileUtil.createFile(fileName)

        //创建临时文件

        String prefix = "temp"

        String suffix = ".txt"

        for (int i = 0 i < 10 i++) {

            System.out.println("创建了临时文件:"

                    + CreateFileUtil.createTempFile(prefix, suffix, dirName))

        }

        //在默认目录下创建临时文件

        for (int i = 0 i < 10 i++) {

            System.out.println("在默认目录下创建了临时文件:"

                    + CreateFileUtil.createTempFile(prefix, suffix, null))

        }

    }

}

输出结果:

创建目录D:/work/temp/temp0/temp1成功!

目标文件所在目录不存在,准备创建它!

创建单个文件D:/work/temp/temp0/temp1/temp2/tempFile.txt成功!

创建了临时文件:D:work emp emp0 emp1 emp5171.txt

创建了临时文件:D:work emp emp0 emp1 emp5172.txt

创建了临时文件:D:work emp emp0 emp1 emp5173.txt

创建了临时文件:D:work emp emp0 emp1 emp5174.txt

创建了临时文件:D:work emp emp0 emp1 emp5175.txt

创建了临时文件:D:work emp emp0 emp1 emp5176.txt

创建了临时文件:D:work emp emp0 emp1 emp5177.txt

创建了临时文件:D:work emp emp0 emp1 emp5178.txt

创建了临时文件:D:work emp emp0 emp1 emp5179.txt

创建了临时文件:D:work emp emp0 emp1 emp5180.txt

在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5181.txt

在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5182.txt

在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5183.txt

在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5184.txt

在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5185.txt

在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5186.txt

在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5187.txt

在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5188.txt

在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5189.txt

在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5190.txt


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11800918.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存