读书人

Java创办文件和文件路径

发布时间: 2012-09-17 12:06:51 作者: rapoo

Java创建文件和文件路径

最近在开发过程中,经常用到创建文件路径和文件,以前经常写死在代码中,发现很多的重复代码,现在有时间,整理一下,和参考了一下网上好的文章,写了一个创建文件和创建文件路径的工具类,供以后参考使用。

1:创建文件部分,该部分,创建的某个文件夹里面,可以指定在子文件夹,下次执行到这里,文件不可以覆盖,保持原有文件的信息不变,源码如下所示:

/** * 创建文件,存在不可覆盖 * @param destFileName 文件路径和文件名称(/com/filename.txt) * @return true:创建成功 false:创建失败 */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 + "失败!");return false;}}

?2:创建文件夹,这部分主要是为了保持上面所述的文件的位置,配合使用,创建之后下次执行这代码,文件夹不可覆盖

?

/** * 创建文件夹(目录),存在不可覆盖 * @param destDirName 创建路径—:/com/filePath) * @return */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;}}

?

上述所述配合使用就可以完成一个文件存放在具体位置。

到这里,大致了解了创建文件和文件夹的基本方法,下面就是我整理的一个工具类。

package com.lzb.reader;import java.io.File;import java.io.IOException;/** * Java创建文件在指定的目录 * @author lizhenbin * */public class CreateFileUtil {/** * 创建文件,存在不可覆盖 * @param destFileName 文件路径和文件名称(/com/filename.txt) * @return true:创建成功 false:创建失败 */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 + "失败!");return false;}}/** * 创建文件夹(目录),存在不可覆盖 * @param destDirName 创建路径—:/com/filePath) * @return */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;}}/** * 创建临时文件 * @param prefix 临时文件的拼凑名字前部分 * @param suffix 文件后缀名 * @param dirName 所在的目录 * @return */public static String createTempFile(String prefix, String suffix, String dirName) {File tempFile = null;try{if(dirName == null) {// 在默认文件夹下创建临时文件tempFile = File.createTempFile(prefix, suffix);return tempFile.getCanonicalPath();}else{File dir = new File(dirName);//如果临时文件所在目录不存在,首先创建if(!dir.exists()) {if(!CreateFileUtil.createDir(dirName)){System.out.println("创建临时文件失败,不能创建临时文件所在目录!");return null;}}tempFile = File.createTempFile(prefix, suffix, dir);return tempFile.getCanonicalPath();}}catch(IOException e) {e.printStackTrace();System.out.println("创建临时文件失败" + e.getMessage());return null;}}}

?

读书人网 >编程

热点推荐