浅析java创建文件和目录

一,创建文件和目录的关键技术点如下:

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

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

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

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

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

二,实例演示如下:

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
(0)

相关推荐

  • Java如何在不存在文件夹的目录下创建文件

    核心代码如下所示: 1. String strPath = "E:\\a\\aa\\aaa.txt"; File file = new File(strPath); if(!file.exists())){ file.file.mkdirs(); } 2. String strPath = "E:\\a\\aa\\aaa.txt"; File file = new File(strPath); File fileParent = file.getParentFile

  • Java创建文件夹及文件实例代码

    复制代码 代码如下: package com.xhkj.util; 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.prin

  • java实现ftp上传 如何创建文件夹

    java如何实现ftp上传?如何创建文件夹? 最佳答案: 准备条件:java实现ftp上传用到了commons-net-3.3.jar包 首先建立ftphost连接 public boolean connect(String path, String addr, int port, String username, String password) { try { //FTPClient ftp = new FTPHTTPClient(addr, port, username, password

  • Java读写文件创建文件夹多种方法示例详解

    出现乱码请修改为 BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path), "GBK")); 一.获得控制台用户输入的信息 复制代码 代码如下: public String getInputMessage() throws IOException...{    System.out.println("请输入您的命令∶");    byte buffe

  • Java创建文件且写入内容的方法

    前两天在项目中因为要通过http请求获取一个比较大的json数据(300KB左右)并且保存,思来想去,最后还是决定将获取到的json数据以文件的形式保存下来,每次使用的时候去读取文件就可以了. 废话不多说了,直接上代码. 以下是代码截图,文章结尾会有完成的代码文件可供下载. 创建文件方法: 写入文件内容方法: 删除文件方法: 测试: 关于文件创建,写入内容,删除.可以根据自己的情况再稍作修改. 以下是代码类. package com.file.run; import java.io.Buffer

  • 浅析java创建文件和目录

    一,创建文件和目录的关键技术点如下: 1.File类的createNewFile根据抽象路径创建一个新的空文件,当抽象路径制定的文件存在时,创建失败 2.File类的mkdir方法根据抽象路径创建目录 3.File类的mkdirs方法根据抽象路径创建目录,包括创建不存在的父目录 4.File类的createTempFile方法创建临时文件,可以制定临时文件的文件名前缀.后缀及文件所在的目录,如果不指定              目录,则存放在系统的临时文件夹下. 5.除 mkdirs方法外,以上

  • 详解Java的文件与目录管理以及输入输出相关操作

    Java中文件与目录管理 目录是管理文件的特殊机制,同类文件保存在同一个目录下不仅可以简化文件管理,而且还可以提高工作效率.Java 语言在 java.io 包中定义了一个 File 类专门用来管理磁盘文件和目录. 每个 File 类对象表示一个磁盘文件或目录,其对象属性中包含了文件或目录的相关信息.通过调用 File 类提供的各种方法,能够创建.删除.重名名文件.判断文件的读写权限以及是否存在,设置和查询文件的最近修改时间等.不同操作系统具有不同的文件系统组织方式,通过使用 File 类对象,

  • 详细总结Java创建文件夹的方法及优缺点

    一.传统API创建文件夹方式 Java传统的IO API种使用java.io.File类中的file.mkdir()和file.mkdirs()方法创建文件夹 file.mkdir()创建文件夹成功返回true,失败返回false.如果被创建文件夹的父文件夹不存在也返回false.没有异常抛出. file.mkdirs()创建文件夹连同该文件夹的父文件夹,如果创建成功返回true,创建失败返回false.创建失败同样没有异常抛出. @Test void testCreateDir1() { //

  • java 对文件夹目录进行深度遍历实例代码

    java 对文件夹目录进行深度遍历实例代码 1.题目 对指定目录进行所有内容的列出(包含子目录中的内容),也可以理解为对目录进行深度遍历. 2.解题思想 从电脑中获取文件目录,建立函数对其遍历,在这个函数中需要对该目录中的每个文件进行判断,如果文件还是目录,则调用函数本身继续对其进行遍历,如果文件不是目录,则直接输出文件名.为了加强显示的效果,我们还可以建立一个getSpace函数,对其进行缩进. 需要注意的是,不要直接遍历C盘的内容,其目录层次太深,含有太多的系统级文件,容易返回为空,导致空指

  • Java删除文件、目录及目录下所有文件的方法实例

    前言 本文主要实现的功能是删除某个目录及目录下的所有子目录和文件,涉及到的知识点:File.delete()用于删除"某个文件或者空目录"!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除. 具体代码示例如下: import java.io.File; public class DeleteDirectory { /** * 删除空目录 * @param dir 将要删除的目录路径 */ private static void doDeleteEmptyDir(String

  • centos系统修改创建文件夹目录的显示颜色

    前言 linux系统默认目录颜色是蓝色的,在黑背景下看不清楚,可以通过以下2种方法修改ls查看的颜色. 方法: 1.拷贝/etc/DIR_COLORS文件为当前主目录的 .dir_colors cp /etc/DIR_COLORS ~/.dir_colors 2.修改~/.dir_colors中DIR对应的颜色 vim ~/.dir_colors 找到下面这一行: DIR 01;34(01:粗体,34:蓝色) 改为: DIR 01;33(01:粗体,33:黄色) 解释: 效果的具体代码如下 1)

  • 浅析java class 文件

    class 文件是什么 1).是对一个java类或一个java接口的全面描述:2).是对java程序二进制文件格式的精确定义:3).一个class文件中只能包含一个类或接口:4).作为程序传给jvm的中间语言:5).class文件不一定和java语言相关: class 文件内容class文件包含了jvm所需知道的,关于类或接口的所有信息. 基本类型ClassFile常量池特殊字符串字段方法属性

  • Java在指定路径上创建文件提示不存在解决方法

    如果 d:\upload\file\ 文件夹不存在,会报错 String strPath = "d:\\upload\\file\\2.mp3"; File file = new File(strPath); if(!file.exists())){ file.createNewFile(); } 以下会创建文件夹 d:\\upload\\file\\2.mp3\ String strPath = "d:\\upload\\file\\2.mp3"; File fi

随机推荐