IO之File类

IO之File类


一、什么是File类

File是指一个特定的文件夹或目录,如下所示

File file = new File("I:\\1、Spring.avi");//指向一个文件

file =  new File("I:\\bb");//指向一个文件夹(目录)

二、如何创建File对象

创建File对象常用的有以下三种方式:

1、File(String pathname):通过路径名创建一个新 File 实例

File file = new File("I:\\dd\\1、Spring.avi");//通过路径名创建一个新 File 实例
System.out.println(file.getPath());//得到File对象指向的文件/文件夹指向的路径组成的字符串

2、File(File parent, String child):根据父目录路径File实例和子目录或文件路径创建一个新 File 实例

 File file = new File("I:\\dd\\","1、Spring.avi");
 System.out.println(file.getPath());

3、File(String parent, String child):根据父目录路径和子目录或文件路径创建一个新 File 实例

File file = new File(new File("I:\\dd\\"),"1、Spring.avi");
System.out.println(file.getPath());

三、File类常用的方法

1、boolean isFile():判断File对象 代表的路径是否是一个文件

File file = new File("I:\\dd\\1、Spring.avi");//指向一个文件
if(file.isFile()) {//是否为文件
	System.out.println("Yes");
}

2、boolean isDirectory():判断File对象 代表的路径是否是一个目录

File file = new File("I:\\dd\\1、Spring.avi");//指向一个文件夹或目录
if(file.isDirectory()) {//是否为文件夹或目录
   System.out.println("Yes");
}

3、String getPath()、String getName()、String getParent()、File getParenFile()

public class Test {

	public static void main(String[] args) {
		
		File file = new File("I:\\dd\\1、Spring.avi");
		
		//String getPath():得到file对象所指向的路径
		System.out.println(file.getPath());
		
		//String getName():得到file对象所指向的路径最后一级文件/文件夹名
		System.out.println(file.getName());
		
		//String getParent():得到file对象所指向的路径的父目录
		System.out.println(file.getParent());
		
		//String getParentFile():得到file对象所指向的路径的父目录的File对象
		System.out.println(file.getParentFile());
		
	}

    //打印结果:
    //I:\dd\1、Spring.avi
    //1、Spring.avi
    //I:\dd
    //I:\dd
	
}

4、boolean mkdir():创建此File类对象指定的目录,不包含父目录

public class Test {
	public static void main(String[] args) {
		if(new File("I:\\dd\\bb").mkdir()) {//创建名称为bb的文件夹,该方法只能创建以一级文件夹
			System.out.println("Yes");
		}
	}	
}

5、boolean mkdirs():创建此File类对象指定的目录,包含父目录

public class Test {
	public static void main(String[] args) {
		if(new File("I:\\dd\\bb\\cc").mkdirs()) {//创建名称为bb的文件夹,并在其下再创建一个名称为层次的文件夹,该方法能创建多级文件夹
			System.out.println("Yes");
		}
	}
}

注意:boolean mkdir()、boolean mkdirs()都只能创建文件夹,不能创建目录

6、boolean createNewFile():在存在的目录下,穿件指定的文件

public class Test {
	public static void main(String[] args) {
		try {
			if(new File("I:\\dd\\cc.txt").createNewFile()) {
				System.out.println("Yes");
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}	
}

7、boolean renameTo(File dest):重新命名此File对象表示的文件

public class Test {
	public static void main(String[] args) {
		File file = new File("I:\\ff\\bb\\cc");
		if(file.renameTo( new File("I:\\ff\\bb\\dd"))){
			System.out.println("Yes");
		}
	}	
}

8、boolean delete():删除File类对象表示的目录文件,只能删除最后一级,如果该对象表示一个目录,则该目录必须为空才能删除

public class Test {
	public static void main(String[] args) {
		if(new File("I:\\兴唐\\bb\\cc").delete()) {
			System.out.print("Yes");
		}
	}	
}

9、String[] list():返回由File对象对应目录所包含文件名文件夹名组成的字符串数组;

      File[] listFiles():返回由当前File对象对应目录所包含文件路径或文件夹路径组成的File类型的数组。

public class Test {
	public static void main(String[] args) {
		
		String [] names = new File("I:\\bb").list();//得到指定的目录下对应的文件或文件夹组成的字符串数组
		for (String name : names) {
			System.out.println(name);
		}
		
		File [] files = new File("I:\\bb").listFiles();//得到指定的目录下对应的文件或文件夹组成的File类型的数组
		for (File file : files) {
			System.out.println(file);
		}
		
	}	
}

四、File类属性

static separator:指定文件或目录路径时使用斜线或反斜线来写,但是考虑到跨平台,斜线反斜线最好使用File类的separator属性来表示:

public class Test {
	public static void main(String[] args) {
		File file = new File("I:"+File.separator+"bb");
		System.out.println(file.getPath());//打印结果:I:\bb
	}	
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值