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

[java] view plain copy

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

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

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

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

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

实例演示

[java] view plain copy

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

创建目录 java_java创建文件和目录相关推荐

  1. linux cp强制创建目录,Linux cp 命令的15个示例 - 创建文件和目录的副本

    拷贝文件和目录是每一个操作系统的基本指令.备份行为基本上是创建文件和目录的副本.在Linux系统下,我们可以用cp命令来实现. 拷贝文件和目录是每一个操作系统的基本指令.备份行为基本上是创建文件和目录 ...

  2. java创建文件和目录

    [java] view plaincopy 创建文件和目录的关键技术点如下: [java] view plaincopy <pre name="code" class=&qu ...

  3. Linux cp 命令的15个示例 - 创建文件和目录的副本

    拷贝文件和目录是每一个操作系统的基本指令.备份行为基本上是创建文件和目录的副本.在Linux系统下,我们可以用cp命令来实现. copy 命令是什么 正如我们在上文提到的,cp是一个用来创建文件和目录 ...

  4. 在NIO.2中创建文件和目录

    如今,大量的应用程序创建文件或目录的目的非常广泛. 无论是生成报告,导出配置文件还是仅存储一些数据,能够处理这些任务都非常重要. 创建文件和目录是使用文件系统时最常用的功能之一. 图书馆的这一部分进行 ...

  5. Mac根目录下无法创建文件或目录-报错 mount_apfs: volume could not be mounted: Operation not permitted mount: / fail

    Mac根目录下无法创建文件或目录- 报错 /data: Read-only file system 报错 mount_apfs: volume could not be mounted: Operat ...

  6. Android---在SD卡上创建文件或目录总结

    每个程序在手机上运行时,或多或少会需要使用一些手机的存储空间去存储一些用户数据或临时缓存数据等等,通常在存储设备上创建文件或目录,都会成功.但也会有失败的时候,下面会列举一些创建文件或目录失败,常见和 ...

  7. 如何创建快捷方式(包括在任意磁盘根目录及子目录位置创建文件,目录甚至我的电脑的快捷方式)

    首先保证你有权限:运行应用程序.建立目录 这里要说的不是API,是WScript.Shell对象. 创建文件及目录的快捷方式的源码如下: 创建模块并粘贴以下代码: Option Explicit '参 ...

  8. linux mkdir 创建文件夹/目录

    [linux] mkdir 创建文件夹/目录 mkdir [选项] 目录 通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录. 要创建文件夹或目录的用户必 ...

  9. Linux 什么是用户和用户组;创建用户、组和组成员资格;创建文件或目录并设置权限

    一.Linux中的用户和用户组: 1)用户的类型: 1.Linux中用户的类型 Linux系统是一个多用户多任务的操作系统,每个用户都有一个独立的身份号码,这个就是用户ID(UID).在Linux中用 ...

最新文章

  1. 十七、生产者消费者问题
  2. 查看mysql数据库大小、表大小和最后修改时间
  3. Android10.0 ContentProvider原理分析
  4. 兼容性好的CSS字体投影
  5. 关于iOS知识的提升
  6. python语言流程控制语句的格式_第四节 Python控制语句
  7. mysql合并统计总数,mysql统计多表交织组合总数
  8. Spark1.5.1学习笔记汇总
  9. 20个全屏响应式菜单效果荟萃
  10. python aes加密对于长字符数据丢失_Python 3中AES加密和解密的字符串字节数
  11. 学生DW静态网页设计 红色中国文化主题网站设计 ——美丽中国1页HTML+CSS
  12. 2020深圳杯数学建模C题
  13. 傅里叶变换及其实现(MATLAB)
  14. NXP LPC芯片程序下载
  15. 代码没问题但运行不出来
  16. python Selenium
  17. 累死你的不是工作是工作方式 好的团队会教你如何工作
  18. 深度学习中使用Screen 指令进行离线训练
  19. 个人计算机专业报告,计算机专业个人实习报告
  20. 视频播放 via FFmpeg

热门文章

  1. Golang import 包时可以使用相对路径吗
  2. C++ char 类型:字符型和最小的整型
  3. C语言博客作业---嵌套循环
  4. UWP 共享文件——接收者
  5. repo 的几个使用理解
  6. .7 二叉查找树的 建立 insert search remove 操作
  7. CUDA计算向量内积的程序(源自CUDA范例编程)
  8. 电子计算机专业vs土木工程专业,最难学十大工科专业 不想累成狗就别去(高薪)...
  9. ubuntu16.04 wget java_linux centos ubuntu下载安装JDK wget方式下载JDK
  10. jquery 逗号分割截取字符串_经典面试题:分割回文串