usefile.java
来自「这是孙卫琴在"Java与面向对象编程"一书的源代码。」· Java 代码 · 共 70 行
JAVA
70 行
import java.io.*;
import java.util.Date;
public class UseFile {
public static void main(String args[])throws Exception{
File dir1=new File("D:\\dir1");
if(!dir1.exists())dir1.mkdir();
File dir2=new File(dir1,"dir2");
if(!dir2.exists())dir2.mkdirs();
File dir4=new File(dir1,"dir3\\dir4");
if(!dir4.exists())dir4.mkdirs();
File file=new File(dir2,"test.txt");
if(!file.exists())file.createNewFile();
listDir(dir1);
deleteDir(dir1);
}
/** 察看目录信息 */
public static void listDir(File dir){
File[] lists=dir.listFiles();
//打印当前目录下包含的所有子目录和文件的名字
String info="目录:"+dir.getName()+"(";
for(int i=0;i<lists.length;i++)
info+=lists[i].getName()+" ";
info+=")";
System.out.println(info);
//打印当前目录下包含的所有子目录和文件的详细信息
for(int i=0;i<lists.length;i++){
File f=lists[i];
if(f.isFile())
System.out.println("文件:"+f.getName()
+" canRead:"+f.canRead()
+" lastModified:"+new Date(f.lastModified()));
else //如果为目录,就递归调用listDir()方法
listDir(f);
}
}
/** 删除目录或文件,如果参数file代表目录,会删除当前目录以及目录下的所有内容*/
public static void deleteDir(File file){
//如果file代表文件,就删除该文件
if(file.isFile()){
file.delete();
return;
}
//如果file代表目录,先删除目录下的所有子目录和文件
File[] lists=file.listFiles();
for(int i=0;i<lists.length;i++)
deleteDir(lists[i]); //递归删除当前目录下的所有子目录和文件
//最后删除当前目录
file.delete();
}
}
/****************************************************
* 作者:孙卫琴 *
* 来源:<<Java面向对象编程>> *
* 技术支持网址:www.javathinker.org *
***************************************************/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?