2013-09-04 12:56 99933人阅读 评论(7) 收藏 举报
 分类:
JAVA基础(10) 

版权声明:本文为博主原创文章,未经博主允许不得转载。

  1. 创建文件和目录的关键技术点如下:
  1. <pre name="code" class="java">    1、File类的createNewFile根据抽象路径创建一个新的空文件,当抽象路径制定的文件存在时,创建失败
  2. 2、File类的mkdir方法根据抽象路径创建目录
  3. 3、File类的mkdirs方法根据抽象路径创建目录,包括创建必需但不存在的父目录
  4. 4、File类的createTempFile方法创建临时文件,可以制定临时文件的文件名前缀、后缀及文件所在的目录,如果不指定目录,则存放在系统的临时文件夹下。
  5. 5、除mkdirs方法外,以上方法在创建文件和目录时,必须保证目标文件不存在,而且父目录存在,否则会创建失败
  6. 文件及文件夹(目录)命名的时候,不允许/  \ : ? *等字符
  7. 实例演示

  1. package book.io;
  2. import java.io.File;
  3. import java.io.IOException;
  4. public class CreateFileUtil {
  5. public static boolean createFile(String destFileName) {
  6. File file = new File(destFileName);
  7. if(file.exists()) {
  8. System.out.println("创建单个文件" + destFileName + "失败,目标文件已存在!");
  9. return false;
  10. }
  11. if (destFileName.endsWith(File.separator)) {
  12. System.out.println("创建单个文件" + destFileName + "失败,目标文件不能为目录!");
  13. return false;
  14. }
  15. //判断目标文件所在的目录是否存在
  16. if(!file.getParentFile().exists()) {
  17. //如果目标文件所在的目录不存在,则创建父目录
  18. System.out.println("目标文件所在目录不存在,准备创建它!");
  19. if(!file.getParentFile().mkdirs()) {
  20. System.out.println("创建目标文件所在目录失败!");
  21. return false;
  22. }
  23. }
  24. //创建目标文件
  25. try {
  26. if (file.createNewFile()) {
  27. System.out.println("创建单个文件" + destFileName + "成功!");
  28. return true;
  29. } else {
  30. System.out.println("创建单个文件" + destFileName + "失败!");
  31. return false;
  32. }
  33. } catch (IOException e) {
  34. e.printStackTrace();
  35. System.out.println("创建单个文件" + destFileName + "失败!" + e.getMessage());
  36. return false;
  37. }
  38. }
  39. public static boolean createDir(String destDirName) {
  40. File dir = new File(destDirName);
  41. if (dir.exists()) {
  42. System.out.println("创建目录" + destDirName + "失败,目标目录已经存在");
  43. return false;
  44. }
  45. if (!destDirName.endsWith(File.separator)) {
  46. destDirName = destDirName + File.separator;
  47. }
  48. //创建目录
  49. if (dir.mkdirs()) {
  50. System.out.println("创建目录" + destDirName + "成功!");
  51. return true;
  52. } else {
  53. System.out.println("创建目录" + destDirName + "失败!");
  54. return false;
  55. }
  56. }
  57. public static String createTempFile(String prefix, String suffix, String dirName) {
  58. File tempFile = null;
  59. if (dirName == null) {
  60. try{
  61. //在默认文件夹下创建临时文件
  62. tempFile = File.createTempFile(prefix, suffix);
  63. //返回临时文件的路径
  64. return tempFile.getCanonicalPath();
  65. } catch (IOException e) {
  66. e.printStackTrace();
  67. System.out.println("创建临时文件失败!" + e.getMessage());
  68. return null;
  69. }
  70. } else {
  71. File dir = new File(dirName);
  72. //如果临时文件所在目录不存在,首先创建
  73. if (!dir.exists()) {
  74. if (!CreateFileUtil.createDir(dirName)) {
  75. System.out.println("创建临时文件失败,不能创建临时文件所在的目录!");
  76. return null;
  77. }
  78. }
  79. try {
  80. //在指定目录下创建临时文件
  81. tempFile = File.createTempFile(prefix, suffix, dir);
  82. return tempFile.getCanonicalPath();
  83. } catch (IOException e) {
  84. e.printStackTrace();
  85. System.out.println("创建临时文件失败!" + e.getMessage());
  86. return null;
  87. }
  88. }
  89. }
  90. public static void main(String[] args) {
  91. //创建目录
  92. String dirName = "D:/work/temp/temp0/temp1";
  93. CreateFileUtil.createDir(dirName);
  94. //创建文件
  95. String fileName = dirName + "/temp2/tempFile.txt";
  96. CreateFileUtil.createFile(fileName);
  97. //创建临时文件
  98. String prefix = "temp";
  99. String suffix = ".txt";
  100. for (int i = 0; i < 10; i++) {
  101. System.out.println("创建了临时文件:"
  102. + CreateFileUtil.createTempFile(prefix, suffix, dirName));
  103. }
  104. //在默认目录下创建临时文件
  105. for (int i = 0; i < 10; i++) {
  106. System.out.println("在默认目录下创建了临时文件:"
  107. + CreateFileUtil.createTempFile(prefix, suffix, null));
  108. }
  109. }
  110. }
  111. 输出结果:
  112. 创建目录D:/work/temp/temp0/temp1成功!
  113. 目标文件所在目录不存在,准备创建它!
  114. 创建单个文件D:/work/temp/temp0/temp1/temp2/tempFile.txt成功!
  115. 创建了临时文件:D:work emp emp0 emp1 emp5171.txt
  116. 创建了临时文件:D:work emp emp0 emp1 emp5172.txt
  117. 创建了临时文件:D:work emp emp0 emp1 emp5173.txt
  118. 创建了临时文件:D:work emp emp0 emp1 emp5174.txt
  119. 创建了临时文件:D:work emp emp0 emp1 emp5175.txt
  120. 创建了临时文件:D:work emp emp0 emp1 emp5176.txt
  121. 创建了临时文件:D:work emp emp0 emp1 emp5177.txt
  122. 创建了临时文件:D:work emp emp0 emp1 emp5178.txt
  123. 创建了临时文件:D:work emp emp0 emp1 emp5179.txt
  124. 创建了临时文件:D:work emp emp0 emp1 emp5180.txt
  125. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5181.txt
  126. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5182.txt
  127. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5183.txt
  128. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5184.txt
  129. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5185.txt
  130. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5186.txt
  131. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5187.txt
  132. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5188.txt
  133. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5189.txt
  134. 在默认目录下创建了临时文件:C:Documents and SettingsAdministratorLocal SettingsTemp emp5190.txt

java创建文件和目录的更多相关文章

  1. JavaIO流程--创建文件和目录的实例

    *创建函数:  *public boolean createNewFile():创建文件 本文假设存在.不创造(转让file.createNewFile()返回false)  *public bool ...

  2. linux下创建文件与目录时默认被赋予了什么样的权限?

    当我们创建一个新的文件或目录的时候,他的默认权限是什么? umask--指定当前使用者在创建文件或目录的时候默认的权限值 [root@iZ288fgkcpkZ default]# umask [roo ...

  3. LINUX创建文件和目录的默认权限

    在linux中,一位用户在创建文件和目录时,对其具有的权限都是一样的,如需更改,需要chmod命令做相应的更改.为什么?其实是权限掩码起作用了. 权限掩码的作用就是规范初创文件和目录时候的权限设置,免 ...

  4. 用IO流中的File类来创建文件及目录

    题目如下: 设计一个命令窗口程序,要求按照如下的格式显示 例如:===利用命令窗口完成文件的操作===(1)创建目录 (2)创建文件 (3)删除目录 (4)删除文件 ===现在正在做创建目录的操作== ...

  5. JAVA 创建文件和文件夹,删除文件和文件夹的实用工具

    package com.file; import java.io.File; import java.io.IOException; //创建新文件和目录 public class CCRDFile ...

  6. JAVA 创建文件和文件夹,删除文件和文件夹的实用工具

    package com.file; import java.io.File; import java.io.IOException; //创建新文件和目录 public class CCRDFile ...

  7. 总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇

    本文是Java IO总结系列篇的第3篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...

  8. Java 创建文件夹和文件,字符串写入文件,读取文件

    两个函数如下: TextToFile(..)函数:将字符串写入给定文本文件: createDir(..)函数:创建一个文件夹,有判别是否存在的功能. public void TextToFile(fi ...

  9. 【每天一个Linux命令】19. 创建文件夹目录命令mkdir

    命令用途 mkdir 命令用来创建指定的名称的目录 使用说明 1.  创建目录的用户在当前目录中具有写权限 2. 指定的目录名不能是当前目录中已有的目录. 命令实例 0. 帮助文件 bixiaopen ...

随机推荐

  1. JuCheap V2.0响应式后台管理系统模板正式发布beta版本

    JuCheap V1.* 查看地址: http://blog.csdn.net/allenwdj/article/details/49155339 经过半年的努力,JuCheap后台通用响应式管理后台 ...

  2. 原创 C++应用程序在Windows下的编译、链接:第三部分 静态链接(二)

    3.5.2动态链接库的创建 3.5.2.1动态链接库的创建流程 动态链接库的创建流程如下图所示: 在系统设计阶段,主要的设计内容包括:类结构的设计以及功能类之间的关系,动态链接库的接口.在动态链接库中 ...

  3. 为什么现在我最终推荐内存OLTP

    在今年的8月份,我写了篇文章,介绍了我还不推荐用户使用内存OLTP的各个理由.近日很多人告诉我,他们有一些性能的问题,并考虑使用内存OLTP来解决它们. 众所皆知,在SQL Server里内存OLTP ...

  4. H5页面微信分享和手Q分享设置

    RT: 一. 手Q分享: 如下代码所示:设置好 description,name,image,即可,唯一注意的是image最好是200*200,要不然过小不美观,过大加载太慢 <head> ...

  5. Linux下更换默认yum源为网易yum源的操作记录

    废话不多说,下面记录了centos下更换系统默认yum源为网易yum源的操作过程:1)备份原有的默认yum源[root@bastion-IDC ~]# cp /etc/yum.repos.d/Cent ...

  6. Compiler Error Message: CS0016: Could not write to output file 回绝访问

    Compiler Error Message: CS0016: Could not write to output file 'c:\Windows...dll' 拒绝访问 C:\Windows\Te ...

  7. [原]CentOS7部署osm2pgsql

    转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 部署Postgresql和部署PostGis请参考前两篇文章 本文主要参考GitHub上osm ...

  8. echart折线图小知识

    1)在折线图中,有时我们不想让太多折线显示,那么就隐藏,点击legend区域文字再显示. 比如我们要隐藏的折线叫"联盟广告",代码如下 var selected = {}; sel ...

  9. css3圣诞雪景球

    本来想多做几个了 无奈最近太忙 于是模仿做了一个在codepen看到的圣诞雪景球   算是送给自己的圣诞礼物 演示地址:http://www.qdfuns.com/notes/26668/d5e177 ...

  10. js整理

    Js脚本语音 网页里面使用的脚本语音 基础语法 注释语法  单行注释// 多行注释/**/ 嵌入js代码  尽量靠下写  用<script type="text/javascript& ...