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. 后记:IT软件人员学习的书籍 - IT软件人员书籍系列文章

    1年了,软件人员学习书籍系列总算是写完了.虽然文字篇幅不多,主要对各个角色的一些基本内容做了介绍,但是更重要的是能够提供相关的人员学习书籍进行下载,让更多的人能够从中学习到更多的知识. 这个系列,从项 ...

  2. Memcached初探

    一.Memcached是什么 Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度. Memcached基于 ...

  3. Couchbase 环境搭建与使用(C#)

    Couchbase Couchbase Server (前身是 Membase) 是一个分布式的面向文档的 NoSQL 数据库管理系统,该系统联合了 CouchDB 的简单和可靠以及 Memcache ...

  4. Docker中部署Kubernetes

    Kubernetes为Google开源的容器管理框架,提供了Docker容器的夸主机.集群管理.容器部署.高可用.弹性伸缩等一系列功能:Kubernetes的设计目标包括使容器集群任意时刻都处于用户期 ...

  5. 简单配置 nginx 反向代理

    # Nginx 域名反向代理配置# 安装nginx yum install nginx -y# 修改配置文件 进入配置文件目录 cd /etc/nginx/conf.d 新建配置文件以.conf结尾 ...

  6. ajax 允许跨域html头设置

    "Access-Control-Allow-Origin"= "*" "Access-Control-Allow-Headers"= &qu ...

  7. 【转】[fix] Wireshark error: There are no interfaces on which a capture can be done. on Mac OS X

    I got the following error message when trying to open a network interface for capture using Wireshar ...

  8. 刷新页面时 select值保持不变

    刷新页面时,要使下拉菜单(select).raido保持不变,用ajax是无法实现的.我想只能通过cookies才能实现.刷新前先把select或radio的值保存在cookies中,刷新后再填回去. ...

  9. eclipse调试java程序的九个技巧

    转:http://www.cnblogs.com/lingiu/p/3802391.html 九个技巧: 逻辑结构 条件debug 异常断点 单步过滤 跳到帧 Inspect expressions ...

  10. mysql workbench如何把已有的数据库导出ER模型

    mysql workbench的特长是创建表结构的,然后在结构图中,圈圈点点,很容易就利用可视化方式把数据库建好,然后再导入到数据库服务器中,这种办法很效率.但是有时我们有一个需求,事先没有建表结构模 ...