`

java创建文件和目录

    博客分类:
  • java
 
阅读更多

创建文件和目录的关键技术点如下:
    1、File类的createNewFile根据抽象路径创建一个新的空文件,当抽象路径制定的文件存在时,创建失败
    2、File类的mkdir方法根据抽象路径创建目录
    3、File类的mkdirs方法根据抽象路径创建目录,包括创建必需但不存在的父目录
    4、File类的createTempFile方法创建临时文件,可以制定临时文件的文件名前缀、后缀及文件所在的目录,如果不指定目录,则存放在系统的临时文件夹下。
    5、除mkdirs方法外,以上方法在创建文件和目录时,必须保证目标文件不存在,而且父目录存在,否则会创建失败
   
实例演示

 

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;

public class CreateFileUtil {

	private 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 + "成功!");
				writeFile(destFileName);
				return true;
			} else {
				System.out.println("创建单个文件" + destFileName + "失败!");
				return false;
			}
		} catch (IOException e) {
			e.printStackTrace();
			System.out
					.println("创建单个文件" + destFileName + "失败!" + e.getMessage());
			return false;
		}
	}

	private 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;
		}
	}

	private static void writeFile(String fileName) {
		try {
			FileWriter fw = new FileWriter(fileName);
			fw.write("1492");
			fw.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	private static String readMtu(String fileName){
	    String str = null;  
        StringBuffer mtu = new StringBuffer(); 
            try {  
                BufferedReader br =  
                    new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));  
                while ((str = br.readLine()) != null) {  
                	mtu.append(str);  
                } 
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
       
		return mtu.toString();
	}
	
	private static String updateMtu(String fileName,String mtu){
		try {
			if(mtu.equals("")){
				mtu = "1492";
			}
			FileWriter fw = new FileWriter(fileName);
			fw.write(mtu);
			fw.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return mtu;
	}

	public static void main(String[] args) {
		// 创建目录
		String dirName = "D://work/temp";
		CreateFileUtil.createDir(dirName);
		// 创建文件
		String fileName = dirName + "/tempFile.txt";
		CreateFileUtil.createFile(fileName);
		//修改文件
		CreateFileUtil.updateMtu(fileName,""); 
		// 写文件
		//CreateFileUtil.writeFile(fileName);
		// 读文件
		String str = CreateFileUtil.readMtu(fileName);
		System.out.println("读取值:" + str);
		
       
	}

}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics