/*** 创建一个文件,目录或多级目录
*@parampath
*@throwsIOException
*@see[类、类#方法、类#成员]*/
public static void createFile(String path) throwsIOException
{if(path == null){return;
}
File file= newFile(path);if(path == null){return;
}
File f= newFile(path);
File fileParent=f.getParentFile();if(!fileParent.exists()){
fileParent.mkdirs();
}if(!f.exists()){
f.createNewFile();
}//if(!file.exists()){//file.createNewFile();///*//创建一个目录,其路径中的父目录都必须存在(D://test)//if(!file.isDirectory()){//file.mkdir();//}// //创建一个多级目录,其路径中的父目录可以不存在存在(D://test//test//test)//if(!file.isDirectory()){//file.mkdirs();//}*/// //只允许所有人使用可读//file.setReadable(true);// //只允许所有人使用可写//file.setWritable(true);///*//只允许文件所有者使用可写//file.setWritable(true, true);// //只允许文件所有者使用可读//file.setReadable(true, true);*///}
}/*** 查看该文件的基本信息
*@parampath
*@throwsIOException
*@see[类、类#方法、类#成员]*/
public static void getFileInfo(String path) throwsIOException
{
File file= newFile(path);//文件的路径
String filePath =file.getPath();//文件的名称
String fileName =file.getName();//文件父路径
String fileParentName =file.getParent();//文件的绝对路径
String fileAbsolutePath =file.getAbsolutePath();//文件的绝对路径
String fileCanonicalPath =file.getCanonicalPath();//父目录的文件对象
File fileParentFile =file.getParentFile();//父目录的文件对象
File fileAbsoluteFile =file.getAbsoluteFile();//父目录的文件对象
File fileCanonicalFile =file.getCanonicalFile();//文件的可使用的空间
long fileFreeSpace =file.getFreeSpace();//文件的总共的空间
long fileTotalSpace =file.getTotalSpace();//文件的未使用的空间
long fileUsableSpace =file.getUsableSpace();
System.out.println("filePath:"+filePath);
System.out.println("fileName:"+fileName);
System.out.println("fileParentName:"+fileParentName);
System.out.println("fileAbsolutePath:"+fileAbsolutePath);
System.out.println("fileCanonicalPath:"+fileCanonicalPath);
System.out.println("fileParentFile:"+fileParentFile);
System.out.println("fileAbsoluteFile:"+fileAbsoluteFile);
System.out.println("fileCanonicalFile:"+fileCanonicalFile);
System.out.println("fileFreeSpace:"+fileFreeSpace);
System.out.println("fileTotalSpace:"+fileTotalSpace);
System.out.println("fileUsableSpace:"+fileUsableSpace);/*结果集:
filePath:D:\powerd\core.chm
fileName:core.chm
fileParentName:D:\powerd
fileAbsolutePath:D:\powerd\core.chm
fileCanonicalPath:D:\powerd\core.chm
fileParentFile:D:\powerd
fileAbsoluteFile:D:\powerd\core.chm
fileCanonicalFile:D:\powerd\core.chm
fileFreeSpace:95729790976
fileTotalSpace:158986403840
fileUsableSpace:95729790976*/}/*** 删除文件夹(先删除文件下的文件在,删除目录)
*@paramargs
*@see[类、类#方法、类#成员]*/
public static voiddeleteFile(String path)
{
File file= newFile(path);if(file.exists()){if(file.isFile()){
System.out.println(file.getName()+"文件是否是隐藏的:"+file.isHidden());
file.delete();/*//其中检查文件路径是否合法。不合法时,返回false。合法,删除文件,返回true
file.deleteOnExit();*/}else if(file.isDirectory()){
File[] files=file.listFiles();for(File f:files){
deleteFile(f.getAbsolutePath());
}
}
}
file.delete();
}/*** 重命名
*@paramoldPath
*@paramnewPath
*@see[类、类#方法、类#成员]*/
public static voidrename(String oldPath,String newPath)
{
File oldFile= newFile(oldPath);
File newFile= newFile(newPath);if(oldFile.exists() && !newFile.exists()){if(!newFile.exists()){newFile(newFile.getParent()).mkdirs();
}
oldFile.renameTo(newFile);
}
}/*** 复制文件
*@paramoldPath
*@paramnewPath
*@throwsIOException
*@see[类、类#方法、类#成员]*/
public static void copyFlie(String oldPath,String newPath) throwsIOException
{
File oldFile=newFile(oldPath);
newPath+="\\"+oldFile.getName();
File newFile=newFile(newPath);if(!newFile.exists()){
newFile.mkdirs();
}
System.out.println(newFile);
File[] file=oldFile.listFiles();for(File f : file) {if(f.isFile()){
String path2=newPath+"\\"+f.getName();
createFile(path2);
}else if(f.isDirectory()){
String s=f.getPath();
copyFlie(s,newPath);
}
}
}/*** 是否有文件的权限
*@parampath
*@see[类、类#方法、类#成员]*/
public static voidisAutho(String path)
{
File f=newFile(path);if(!f.canExecute()){
f.setExecutable(true);
}if(!f.canRead()){
f.setReadable(true);
}if(!f.canWrite()){
f.setWritable(true);
}/*** 重命名,去除文件名结尾的后缀
*@paramoldPath
*@paramnewPath
*@see[类、类#方法、类#成员]*/
public static voidrenameDir(String path,String suffix)
{
File file= newFile(path);if(file.exists()){if(file.isFile()){if(file.getName().endsWith(suffix)){
String paths=file.getAbsolutePath();
String rePath=paths.substring(0, paths.length()-suffix.length());
rename(paths,rePath);
}
}else if(file.isDirectory()){
File[] files=file.listFiles();for(File f:files){
renameDir(f.getAbsolutePath(),suffix);
}
}
}
}