使用java代码在本地创建文件夹(多层目录),在本地磁盘创建文件目录

https://blog.csdn.net/sinat_28505133/article/details/75043376

 

 

使用java代码在本地生成文件夹

 

 
  1. import java.io.File;

  2. import java.io.IOException;

  3.  
  4. import org.slf4j.Logger;

  5. import org.slf4j.LoggerFactory;

  6.  
  7. /**

  8. * @ClassName CreateFileUtil.java

  9. * @Author Lina

  10. * @Describtion 在本地磁盘创建文件目录

  11. * @Date 创建时间:2017-7-12 下午4:06:40

  12. *

  13. */

  14. public class CreateFileUtil {

  15.  
  16. private static final Logger logger = LoggerFactory.getLogger(CreateFileUtil.class);

  17.  
  18. public static boolean createFile(String destFileName) {

  19. File file = new File(destFileName);

  20. if(file.exists()) {

  21. logger.warn("创建单个文件" + destFileName + "失败,目标文件已存在!");

  22. return false;

  23. }

  24. if (destFileName.endsWith(File.separator)) {

  25. logger.warn("创建单个文件" + destFileName + "失败,目标文件不能为目录!");

  26. return false;

  27. }

  28. //判断目标文件所在的目录是否存在

  29. if(!file.getParentFile().exists()) {

  30. //如果目标文件所在的目录不存在,则创建父目录

  31. logger.warn("目标文件所在目录不存在,准备创建它!");

  32. if(!file.getParentFile().mkdirs()) {

  33. logger.warn("创建目标文件所在目录失败!");

  34. return false;

  35. }

  36. }

  37. //创建目标文件

  38. try {

  39. if (file.createNewFile()) {

  40. logger.warn("创建单个文件" + destFileName + "成功!");

  41. return true;

  42. } else {

  43. logger.warn("创建单个文件" + destFileName + "失败!");

  44. return false;

  45. }

  46. } catch (IOException e) {

  47. e.printStackTrace();

  48. logger.warn("创建单个文件" + destFileName + "失败!" + e.getMessage());

  49. return false;

  50. }

  51. }

  52.  
  53.  
  54. public static boolean createDir(String destDirName) {

  55. File dir = new File(destDirName);

  56. if (dir.exists()) {

  57. logger.warn("创建目录" + destDirName + "失败,目标目录已经存在");

  58. return false;

  59. }

  60. if (!destDirName.endsWith(File.separator)) {

  61. destDirName = destDirName + File.separator;

  62. }

  63. //创建目录

  64. if (dir.mkdirs()) {

  65. logger.warn("创建目录" + destDirName + "成功!");

  66. return true;

  67. } else {

  68. logger.warn("创建目录" + destDirName + "失败!");

  69. return false;

  70. }

  71. }

  72.  
  73.  
  74. public static String createTempFile(String prefix, String suffix, String dirName) {

  75. File tempFile = null;

  76. if (dirName == null) {

  77. try{

  78. //在默认文件夹下创建临时文件

  79. tempFile = File.createTempFile(prefix, suffix);

  80. //返回临时文件的路径

  81. return tempFile.getCanonicalPath();

  82. } catch (IOException e) {

  83. e.printStackTrace();

  84. logger.warn("创建临时文件失败!" + e.getMessage());

  85. return null;

  86. }

  87. } else {

  88. File dir = new File(dirName);

  89. //如果临时文件所在目录不存在,首先创建

  90. if (!dir.exists()) {

  91. if (!CreateFileUtil.createDir(dirName)) {

  92. logger.warn("创建临时文件失败,不能创建临时文件所在的目录!");

  93. return null;

  94. }

  95. }

  96. try {

  97. //在指定目录下创建临时文件

  98. tempFile = File.createTempFile(prefix, suffix, dir);

  99. return tempFile.getCanonicalPath();

  100. } catch (IOException e) {

  101. e.printStackTrace();

  102. logger.warn("创建临时文件失败!" + e.getMessage());

  103. return null;

  104. }

  105. }

  106. }

  107.  
  108. public static void main(String[] args) {

  109. //创建目录

  110. String dirName = "C:/Users/admin/Desktop/创建的文件夹名称";

  111. CreateFileUtil.createDir(dirName);

  112. //创建文件

  113. String fileName = dirName + "/temp2/tempFile.txt";

  114. CreateFileUtil.createFile(fileName);

  115. // //创建临时文件

  116. // String prefix = "temp";

  117. // String suffix = ".txt";

  118. // for (int i = 0; i < 10; i++) {

  119. // logger.warn("创建了临时文件:"

  120. // + CreateFileUtil.createTempFile(prefix, suffix, dirName));

  121. // }

  122. // //在默认目录下创建临时文件

  123. // for (int i = 0; i < 10; i++) {

  124. // System.out.println("在默认目录下创建了临时文件:"

  125. // + CreateFileUtil.createTempFile(prefix, suffix, null));

  126. // }

  127. }

  128.  
  129. }

  130.  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值