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. SQL Server 2012 新特性:FileTable

    FileTable是基于FILESTREAM的一个特性.有以下一些功能: 一行表示一个文件或者目录. 每行包含以下信息: file_Stream流数据,stream_id标示符(GUID). 用户表示 ...

  2. 在Windows中玩转Docker Toolbox

    最近在研究虚拟化,容器和大数据,所以从Docker入手,下面介绍一下在Windows下怎么玩转Docker. Docker本身在Windows下有两个软件,一个就是Docker,另一个是Docker ...

  3. 0034 Java学习笔记-反射-初步2-操作对象

    通过反射创建对象 通过反射创建对象有两种方式,一种通过Class对象的newInstance()方法,一种是获取到Class对象的Constructor后,再调用newInstance()方法,前者要 ...

  4. ThreadLocal 源码剖析

    ThreadLocal是Java语言提供的用于支持线程局部变量的类.所谓的线程局部变量,就是仅仅只能被本线程访问,不能在线程之间进行共享访问的变量(每个线程一个拷贝).在各个Java web的各种框架 ...

  5. Mybatis 查不到数据,总是返回Null

    mybatis突然查不到数据,查询返回的都是Null,但是 select count(*) from xxx查询数量,返回却是正常的. Preparing: SELECT id,a9004,a9005 ...

  6. Oracle导入导出

    Oracle 10g 已经引入了数据泵(点击Data Dump)技术,这项技术和之前的exp/imp有哪些好处呢,简单的来说就是恢复和备份速度非常快: 在说明数据泵的使用方法之前,我们先来了解二者的区 ...

  7. 安装wampserver时提示丢失MSVCR110.dll(在windows server上可用)

    对于32位系统,安装Wampserver 后启动的时候提示系统错误:MSVCR110.dll丢失. 于是卸载原来的WAMPSERVER .安装vcredist_x86.exe,重新安装WAMPSERV ...

  8. Junit mockito 测试Controller层方法有Pageable异常

    1.问题 在使用MockMVC+Mockito模拟Service层返回的时候,当我们在Controller层中参数方法调用有Pageable对象的时候,我们会发现,我们没办法生成一个Pageable的 ...

  9. Salesforce Apex 开发环境设置和Hello World示例

    本文介绍了Salesforce Apex开发环境的设置以及一个简单的Hello World示例的实现过程. Salesforce开发环境 Salesforce通过http://developer.fo ...

  10. ubuntu-Linux系统读取USB摄像头数据(uvc)

    这几天在做小车的过程中,需要用到图像采集.我想现在用的摄像头是UVC免驱的.根据国嵌的教程中有一个gspca摄像头的程序.我发现把gspca的采集程序用到uvc上时,在显示图像的时候提示没有huffm ...