您的位置:首页 > 编程语言 > Java开发

Java IO——File类

2016-03-08 20:16 489 查看
/**
* Created by LiuHuiChao on 2016/3/8.
*/
public class FileTest {
/*
* java.io.file类用于表示文件(目录)
* File类只用于表示文件(目录)的信息,不能用于文件的访问
*
* */
public static void main(String[] args){
//File file=new File("H:\\LHC");
File file=new File("H:"+File.separator+"Lhc");//File.separator用户获取系统分隔符
System.out.println("判断文件是否存在:--"+file.exists());
if(!file.exists()){
file.mkdir();//创建目录
}else{
// file.delete();  //删除
}

//判断是否是一个目录
System.out.println("判断是否是一个目录--"+file.isDirectory());
//判断是否是一个文件
System.out.println("判断是否是一个文件--"+file.isFile());//如果不是目录或不存在,返回false

/*创建文件对象*/
// File file2=new File("H:"+File.separator+"LHC"+File.separator+"diary.txt");
File file2=new File("H:"+File.separator+"LHC","diary.txt");
if(!file2.exists()){
try {
file2.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}else{
// file2.delete();
}

/*常用的file对象的api*/
System.out.println(file2);//打印的是file 的tostring
System.out.println(file2.getAbsolutePath());
System.out.println(file2.getName());
System.out.println(file2.getParent());//返回父目录路径、
System.out.println(file2.getParentFile().getAbsolutePath());

}
}


/**
* Created by LiuHuiChao on 2016/3/8.
*
* 列出file类的一些常用操作,比如,过滤,遍历等操作
*/
public class FileUtils {
/*
列出指定目录下(包括其子目录)的所有文件
*/
public static void listDirectory(File dir) throws IOException, IllegalAccessException {
if(!dir.exists()){
throw new IllegalArgumentException("目录--"+dir+"--不存在!!");
}
if(!dir.isDirectory()){
throw new IllegalArgumentException(dir+"不是目录!");
}
/*list方法用于列出当前目录下的子目录和文件
* 直接子文件名称
* */
/* String[] fileNames=dir.list();
for (String s:fileNames){
System.out.println(dir+File.separator+s);
}*/

/*如果要遍历子目录下的东西,就要构造File对象做递归操作
* File提供了直接返回File对象的api
* */
File[] files=dir.listFiles();//返回的是直接子目录的抽象
if(!files!=null && files.length>0){
for (File file:files){
if (file.isDirectory()){
//递归
listDirectory(file);
}else{
System.out.println(file);
}

}
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: