一、创建文件的思路:判断路径是否存在,不存做就先创建路径,然后再创建文件
细致分两种情况:
1.路径中不包括文件名字(另外单独给出文件名字)
例如:D:\user
2.路径中包括文件名字
例如:D:\user\demo.html
二、代码:
第一种情况:
/**
* 通用文件添加操作
* @param
* @return
*/
public static Boolean addFile(String filePath,String fileName){
try {
File dir = new File(filePath);
if(!dir.exists()){
dir.mkdirs();//创建目录
}
File f = new File(filePath,fileName);
if(!f.exists()){
f.createNewFile();
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
第二种情况:
public static Boolean addFile(String filePath,String fileName){
String fileName="D:\\file\\demo.html" ;
File file=new File(fileName);
if(!file.getParent().exists()){//如果文件夹不存在
file.mkdir();//创建文件夹
}
try{//异常处理
//如果file文件夹下没有demo.html就会创建该文件
File f = new File(fileName);
f.createNewFile();
return true;
/*这样可以在文件中写内容
BufferedWriter bw=new BufferedWriter(new
FileWriter("D:\\file\\test.txt"));
bw.write("Hello!");//在创建好的文件中写入"Hello"
bw.close();//一定要关闭文件
*/
}catch(IOException e){
e.printStackTrace();
}
return false;
}
三、删除文件通用代码:
/**
* 判断指定的文件或文件夹删除是否成功
* @param FileName 文件或文件夹的路径
* @return true or false 成功返回true,失败返回false
*/
public static boolean deleteAnyone(String FileName){
File file = new File(FileName);//根据指定的文件名创建File对象
if ( !file.exists() ){ //要删除的文件不存在
System.out.println("文件"+FileName+"不存在,删除失败!" );
return false;
}else{ //要删除的文件存在
if ( file.isFile() ){ //如果目标文件是文件
return deleteFile(FileName);
}else{ //如果目标文件是目录
return false;
}
}
}
/**
* 判断指定的文件删除是否成功
* @param fileName 文件路径
* @return true or false 成功返回true,失败返回false
*/
public static boolean deleteFile(String fileName){
File file = new File(fileName);//根据指定的文件名创建File对象
if ( file.exists() && file.isFile() ){ //要删除的文件存在且是文件
if ( file.delete()){
System.out.println("文件"+fileName+"删除成功!");
return true;
}else{
System.out.println("文件"+fileName+"删除失败!");
return false;
}
}else{
System.out.println("文件"+fileName+"不存在,删除失败!" );
return false;
}
}
/**
* 删除指定的目录以及目录下的所有子文件
* @param dirName is 目录路径
* @return true or false 成功返回true,失败返回false
*/
public static boolean deleteDir(String dirName){
if ( dirName.endsWith(File.separator) )//dirName不以分隔符结尾则自动添加分隔符
dirName = dirName + File.separator;
File file = new File(dirName);//根据指定的文件名创建File对象
if ( !file.exists() || ( !file.isDirectory() ) ){ //目录不存在或者
System.out.println("目录删除失败"+dirName+"目录不存在!" );
return false;
}
File[] fileArrays = file.listFiles();//列出源文件下所有文件,包括子目录
for ( int i = 0 ; i < fileArrays.length ; i++ ){//将源文件下的所有文件逐个删除
deleteAnyone(fileArrays[i].getAbsolutePath());
}
if ( file.delete() )//删除当前目录
System.out.println("目录"+dirName+"删除成功!" );
return true;
}