java创建文件和目录

版权声明:本文为博主原创文章,未经博主允许不得转载。
- 创建文件和目录的关键技术点如下:
- <pre name="code" class="java"> 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
java创建文件和目录的更多相关文章
- JavaIO流程--创建文件和目录的实例
*创建函数: *public boolean createNewFile():创建文件 本文假设存在.不创造(转让file.createNewFile()返回false) *public bool ...
- linux下创建文件与目录时默认被赋予了什么样的权限?
当我们创建一个新的文件或目录的时候,他的默认权限是什么? umask--指定当前使用者在创建文件或目录的时候默认的权限值 [root@iZ288fgkcpkZ default]# umask [roo ...
- LINUX创建文件和目录的默认权限
在linux中,一位用户在创建文件和目录时,对其具有的权限都是一样的,如需更改,需要chmod命令做相应的更改.为什么?其实是权限掩码起作用了. 权限掩码的作用就是规范初创文件和目录时候的权限设置,免 ...
- 用IO流中的File类来创建文件及目录
题目如下: 设计一个命令窗口程序,要求按照如下的格式显示 例如:===利用命令窗口完成文件的操作===(1)创建目录 (2)创建文件 (3)删除目录 (4)删除文件 ===现在正在做创建目录的操作== ...
- JAVA 创建文件和文件夹,删除文件和文件夹的实用工具
package com.file; import java.io.File; import java.io.IOException; //创建新文件和目录 public class CCRDFile ...
- JAVA 创建文件和文件夹,删除文件和文件夹的实用工具
package com.file; import java.io.File; import java.io.IOException; //创建新文件和目录 public class CCRDFile ...
- 总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇
本文是Java IO总结系列篇的第3篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...
- Java 创建文件夹和文件,字符串写入文件,读取文件
两个函数如下: TextToFile(..)函数:将字符串写入给定文本文件: createDir(..)函数:创建一个文件夹,有判别是否存在的功能. public void TextToFile(fi ...
- 【每天一个Linux命令】19. 创建文件夹目录命令mkdir
命令用途 mkdir 命令用来创建指定的名称的目录 使用说明 1. 创建目录的用户在当前目录中具有写权限 2. 指定的目录名不能是当前目录中已有的目录. 命令实例 0. 帮助文件 bixiaopen ...
随机推荐
- 随笔分类 - [C#6] 新增特性
C#6.0中引入的基本特性总结 [C#6] 7-索引初始化器 摘要: 0. 目录 C#6 新增特性目录 1. 老版本的代码 早C#3中引入的集合初始化器,可是让我们用上面的语法来在声明一个字典或者集合 ...
- Javascript——arguments的shift问题谈方法“借用”
今天本来运行了打算这样的方法 arguments.shift() (shift方法是删除数组的第一个元素,例如var arr=[1,2,3,4,5]执行var a=arr.shift();之后,a的值 ...
- Centos7安装完毕后无法联网的解决方法
/etc/sysconfig/network-scripts/ 用ls命令查看网卡配置文件名(在CENTOS7中网卡名貌似变成了随机数字,所以每台机器的网卡名并不相同)
- Java实现压缩与解压缩
import java.io.*; import java.util.*; import java.util.zip.ZipOutputStream; import java.util.zip.Zip ...
- Linux之od命令详解
功能说明:输出文件内容.语 法:od [-abcdfhilovx][-A <字码基数>][-j <字符数目>][-N <字符数目>][-s <字符串字符数&g ...
- 修复 Windows7 资源管理器左侧收藏夹无法展开问题
相信大家在网上搜多到的解决办法大多数都是修改注册表,但是这个办法多数是无效的 1.运行regedit 2.展开到HKEY_CLASSES_ROOT\lnkfile 3.添加一个字符串值:IsShort ...
- H5页面微信分享和手Q分享设置
RT: 一. 手Q分享: 如下代码所示:设置好 description,name,image,即可,唯一注意的是image最好是200*200,要不然过小不美观,过大加载太慢 <head> ...
- 关于对For循环嵌套优化的问题
1.案例描述 由于一次Java面试的笔试题,当时没有写出很好的解决方案,特此专门撰写一篇博客来加以记录,方便日后的查看 面试题目如下:从性能上优化如下代码并说明优化理由? for (int i = 0 ...
- IIS7.0部署MVC/WebApi项目,报404.4错误
在web.config中添加如下的配置试试: <system.webServer> <modules runAllManagedModulesForAllRequests=" ...
- SpringMVC(四) RequestMapping请求方式
常见的Rest API的Get和POST的测试参考代码如下,其中web.xml和Springmvc的配置文件参考HelloWorld测试代码中的配置. 控制类的代码如下: package com.ti ...