代码:
import java.io.File;
import java.io.IOException;
public class Test {
/**
* 此方法的作用主要是判断创建文件是否成功,成功则返回true,否则则返回false
* @param destFileName is 目标文件
* @return true or false
*/
public static boolean createFile(String destFileName){
File file = new File(destFileName);//根据指定的文件名创建File对象
//要创建的单个文件已存在
if ( file.exists()){
System.out.println("文件"+destFileName+"已存在,创建失败!" );
return false;
}
//如果输入的文件是以分隔符结尾的,则说明File对象是目录而不是文件
if ( destFileName.endsWith(File.separator)){
System.out.println("文件"+destFileName+"是目录,目标文件不能是目录,创建失败!" );
return false;
}
//判断目标文件所在目录是否存在
if (!file.getParentFile().exists()){//如果目标文件所在文件夹不存在,则创建父文件夹
System.out.println("创建"+file.getName()+"所在目录不存在,正在创建!" );
//判断父文件夹是否存在,如果存在则表示创建成功,否则失败
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){//IOException异常需引入java.io.IOException包
e.printStackTrace(); //在命令行打印异常信息在程序中出错的位置及原因。
System.out.println("创建单个文件"+destFileName+"失败!" +e.getMessage());//e.getMessage()只会获得具体的异常名称
return false;
}
}
/**创建单个文件 **/
public static void main(String[] args){
//创建目录
String dirName = "D:\\temp\\aa";
//创建文件
String fileName = dirName+"\\bb\\ccfile.txt";
Test.createFile(fileName);//调用创建目标文件方法
}
}
运行结果:
情况1 成功:
创建单个文件D:\temp\aa\bb\ccfile.txt成功!
情况2 文件已存在:
文件D:\temp\aa\bb\ccfile.txt已存在,创建失败!
情况3 目标文件是一个目录:
文件D:\temp\aa\bb\ccfile\是目录,目标文件不能是目录,创建失败!
代码:
import java.io.File;
import java.io.IOException;
public class Test {
/**
* 此方法的作用主要是判断创建文件是否成功,成功则返回true,否则则返回false
* @param destFileName is 目标文件
* @return true or false
*/
public static boolean createFile(String destFileName){
File file = new File(destFileName);//根据指定的文件名创建File对象
//要创建的单个文件已存在
if ( file.exists()){
System.out.println("文件"+destFileName+"已存在,创建失败!" );
return false;
}
//如果输入的文件是以分隔符结尾的,则说明File对象是目录而不是文件
if ( destFileName.endsWith(File.separator)){
System.out.println("文件"+destFileName+"是目录,目标文件不能是目录,创建失败!" );
return false;
}
//判断目标文件所在目录是否存在
if (!file.getParentFile().exists()){//如果目标文件所在文件夹不存在,则创建父文件夹
System.out.println("创建"+file.getName()+"所在目录不存在,正在创建!" );
//判断父文件夹是否存在,如果存在则表示创建成功,否则失败
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){//IOException异常需引入java.io.IOException包
e.printStackTrace(); //在命令行打印异常信息在程序中出错的位置及原因。
System.out.println("创建单个文件"+destFileName+"失败!" +e.getMessage());//e.getMessage()只会获得具体的异常名称
return false;
}
}
/**创建单个文件 **/
public static void main(String[] args){
//创建目录
String dirName = "D:\\temp\\aa";
//创建文件
String fileName = dirName+"\\bb\\ccfile.txt";
Test.createFile(fileName);//调用创建目标文件方法
}
}