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 ...
随机推荐
- 信息系统实践手记5-CACHE设计一例
说明:信息系统实践手记系列是系笔者在平时研发中先后遇到的大小的问题,也许朴实和细微,但往往却是经常遇到的问题.笔者对其中比较典型的加以收集,描述,归纳和分享. 摘要:此文描述了笔者接触过的部分信息系统 ...
- Hibernate 系列 04 - Hibernate 配置相关的类
引导目录: Hibernate 系列教程 目录 前言: 通过上一篇的增删改查小练习之后,咱们大概已经掌握了Hibernate的基本用法. 我们发现,在调用Hibernate API的过程中,虽然Hib ...
- Microsoft Visual SourceSafe 6.0 无法关联项目
最近遇到Microsoft Visual SourceSafe 6.0 安装好以后, 无法关联项目,导致无法进行版本控制,研究以后,发现需要运行一个程序,在安装目录下 ..\Visual Source ...
- Masonry和FDTemplateLayoutCell 结合使用示例Demo
我们知道,界面布局可以用Storyboard或Xib结合Autolayout实现,如果用纯代码布局,比较热门的有Masonry.SDAutoLayout,下面的简单demo,采用纯代码布局,实现不定高 ...
- 【python之路2】CMD中执行python程序中文显示乱码
在IDLE中执行下面代码,中文显示正常: # -*- coding:utf-8 -*- st=raw_input("请输入内容")print st 但在CMD中执行e:\hello ...
- hibernate三种状态
转自:http://www.cnblogs.com/xiaoluo501395377/p/3380270.html 学过hibernate的人都可能都知道hibernate有三种状态,transien ...
- Spring框架值注解
注解配置概括 Spring可以按指定的包路径扫描内部的组件,当发现组件类定义前有一下的注解标记,会将该组件纳入Spring容器中. 1)@Component(其他组件) 2)@Controller(A ...
- [LeetCode] Reverse Vowels of a String 翻转字符串中的元音字母
Write a function that takes a string as input and reverse only the vowels of a string. Example 1:Giv ...
- 【MySQL】mysql分页调用
存储过程: CREATE DEFINER=`root`@`%` PROCEDURE `Proc_PageCondition`(p_cloumns varchar(500), p_tables varc ...
- 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\106f9ae8\cc0e1
在本地开发环境没问题,但是发布到服务器出现:未能写入输出文件"c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.Ne ...