JAVA入门学习笔记(2)-- File类的基础知识

File类


1.1 概述

java.lang.io.File类是文件 (file) 和文件夹/目录 (directory) 、路径名 (path) 的抽象形式,可以对文件和目录的创建、查找和删除等操作的类。例如:

  1. 创建一个文件\文件夹  
  2. 删除文件\文件夹  
  3. 获取文件\文件夹  
  4. 判断文件\文件夹是否存在  
  5. 对文件夹进行遍历  
  6. 获取文件的大小  

注意:File类是一个与系统无关的类,任何操作系统都可以使用这个类中的方法。

1.2 静态成员变量

这里直接写一个案例来帮助大家了解了


	/*
	static String pathSeparator //String类型的路径分隔符
  	static char pathSeparatorChar //char类型的路径分割符

	static String separator  //String类型的文件名称分隔符
	static char separatorChar   //char类型的文件名称分隔符
	*/ 
	  
	public class Demo01{ 
		public static void main(String[] args){ 
			String pathSeparator = new File.pathSeparator;
			System.out.println(pathSeparator);  //这里Windows输出的是分号(;) 而Linux输出的则是冒号(:)

			String separator = new File.separator;
			System.out.println(separator);  //这里Windows输出的是\ 而Linux会输出/  
			//因此需要注意我们需要操作路径的时候不能直接写成这样了,因为不利于在不同系统上使用:  
			//C:\Users\ASUS  Windows   C:/Users/ASUS Linux  
			//可以使用这样子写,保证安全性:"C:"+File.separator+"Users"+File.separator+"ASUS"
		}
	}

1.3 构造方法

File(String pathname)
参数:pathname是路径的名称。它可以是文件结尾,也可以是文件夹结尾;可以是相对路径,也可以是绝对路径;可以是存在的路径,也可以是不存在的。创建对象时它只是把路径封装成File类型,是不考虑路径的真假的。
File(String parent,String child)
参数: parent表示父路径,child表示子路径;他们是可以单独写,子路径和父路径都可以变化,使用起来十分灵活。例如:

	System.out.println(new File("C:","a.txt"); //输出C:\a.txt    
	System.out.println(new File("D:","a.txt"); //输出D:\a.txt

File(File parent,String child)
参数:注意pathname的类型为File类型了,可以直接方便在对parent这个File对象进行操作后,再在此基础上接着创建。

1.4 常用方法

1.4.1 获取功能的方法

	public String getAbsolutePath();  //获取并返回File对象的绝对路径    
  	public String getPath();  //获取并返回File的对象路径,在构造时是绝对路径获取的就是绝对路径,是相对路径,就获取相对路径  
	public String getName();  //返回路径的结尾部分,结尾是文件名就返回文件名,是文件夹就返回文件夹名  
	public long length(); //获取的是构造方法中指向的文件的大小,字节为单位
	/*值得注意的是最后一个length();方法是不能获取文件夹的大小,因为文件夹是没有大小概念的
	其次若File对象所代表的文件的路径不存在,则返回0 */

1.4.2 判断功能的方法

	public boolean exists();  //判断此File对象所表示的目录是否存在,存在返回True,否则返回false 
	//注意下面这两个方法,路径一定要是真实存在的才有判断的意义,且两个方法是互斥的
	public boolean isDirectory();  //此File对象表示的是否为目录(文件夹)结尾
	public boolean ifFile();  //此File对象表示的是否为文件结尾
	

1.4.3 创建删除功能的方法

	/*public boolean createNewFile();  当文件且仅当文件不存在的时候创建一个新的文件,  
	File对象在构造时创建文件的路径一定要存在,否则会抛异常,  
	同时此方法中申明了一个IOException异常,需要我们声明一下*/

	//下面是例子:

	//在构造File对象时,写好想要创建的文件的路径
	File f = new File("C:"+File.separator+"Users"+File.separator+"a.txt");
	boolean flag = f.createNewFile();//返回true则表示创建成功
  
	File f.1 = new File("C:"+File.separator+"U"+File.separator+"a.txt");
	boolean flag1 = f1.createNewFile();//比如我的系统中是不存在C:\U这个路径的,则创建时会抛异常

	//-----------------------------------------------

	public boolean mkdir();  //创建单级文件夹
	public boolean mkdirs();  //创建多级文件夹
	//和上面创建文件的方法差不多,在构造File对象时,单级的时候一定要把想要创建的路径设置成存在的	
	
	//----------------------------------------------
	
	public boolean delete();  //删除由File对象表示的文件或者目录
	/*删除成功返货True  文件夹中有内容不会被删除将返回false,File对象表示的路径不存在也返回false  
	**同时值得注意的是**:此方法是直接从硬盘中删除文件,不会放入回收站中      */  
	  

1.4.4 遍历

	public String[] list();    //返回Sting类型数组,表示File对象对表示的文夹中所有的子文件或者文件夹,接收的其实就是名称  
	public File[] listFile();  //返回一个Files数组,表示File对象对表示的文夹中所有的子文件或者文件夹

	/*list 和 listFiles方法遍历的是构造方法中给出的目录(文件夹),
	如果路径不存在会抛出空指针异常,如果构造方法中给出的路径不是一个目录,  
	也会抛空指针异常,这两个方法隐藏文件也会被遍历*/

* 附加知识点


路径

绝对路径: 就表示是一个完整的路径,以盘符(C:)开始的路径,如C:\a.text
相对路径: 是一个简化的路径,如果我们的项目已经在C盘下,路径可以简化书写成 a.text

注意:路径是不区分大小写的;在Windows系统中路径中文件的分隔符是反斜杠(),在Java中反斜杠是转义字符,两个反斜杠才表示普通显示的反斜杠。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值