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 ...
随机推荐
- 尝试解析js面试题(一)【转发】
解析: 1.Foo.getName(); //2 1)结果执行的是Foo对象的一个叫做getName()的属性,而1.4.5中的getName都是作为函数存在,所以可以排除1.4.5 2)剩下两个中, ...
- ASP.NET MVC Filters 4种默认过滤器的使用【附示例】
过滤器(Filters)的出现使得我们可以在ASP.NET MVC程序里更好的控制浏览器请求过来的URL,不是每个请求都会响应内容,只响应特定内容给那些有特定权限的用户,过滤器理论上有以下功能: 判断 ...
- php-into 安装时遇到的各种问题,php -m跟phpinfo()显示不一致
系统环境 阿里云服务器 ubuntu nginx php5.4.23 在Yii2中格式显示用户currency,所以需要intl模块,没啥说的装吧. apt-get install libicu-de ...
- jq focus 在火狐(Firefox)下无效
今天写代码的时候发现,在blur事件里面写focus获取焦点无效, $input.blur(function(){ ……………… $input.focus(): } 而且只是在火狐下面无效而已,很明显 ...
- apache下htaccess不起作用,linux,windows详解
可能出现下面这三种的错误可能性: 第一种:启用 rewrite 和 .htaccess 设置 rewrite设置:找到apache的配置文件httpd.conf文件,找到:#LoadModule re ...
- Windows批处理:请求远程协助
公司办公场地分别在两个不同的楼层,处理问题要来回跑,所以思考使用远程访问的方式解决问题.同事大多对电脑不熟悉,使用「通讯软件」和「电话」教同事开启远程桌面沟通成本挺高,另外公司IP地址.账号密码都没统 ...
- [转]Web APi之认证(Authentication)及授权(Authorization)【一】(十二)
本文转自:http://www.cnblogs.com/CreateMyself/p/4856133.html 前言 无论是ASP.NET MVC还是Web API框架,在从请求到响应这一过程中对于请 ...
- [No00009E]几种常见的命名规则
变量命名规则 必须遵循的命名规则 1. 变量名首字母必须为字母(a-z A-Z),下划线(_),或者美元符号($)开始php编程中所有变量必须以$开始. 2. 变量名只能是字母(a-z A ...
- JavaScript子窗口调用父窗口变量和函数的方法
在做一个父窗口开启子窗口并且在子窗口关闭的时候调用父窗口的方法,达到局部刷新的目的. 父窗口: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...
- [LeetCode] Length of Last Word 求末尾单词的长度
Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...