欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

绝对路径,相对路径,File类

程序员文章站 2022-05-10 08:53:59
...

绝对路径

  • 以盘符开始,比如:c:/aaa/a.txt
  • 在系统中具有唯一性。

相对路径

  • 相对某个位置而言的
  • 比如:d:/bbb/ aaa.png
  • 比如:e:/ccc/ aaa.png
  • 在系统中不具有唯一性
  • 默认的相对位置是当前项目的根目录:xxx/yyy/aaa.png
    注意事项:只要不是以盘符开始的路径就是相对路径。默认的相对位置是当前项目的根目录。

File类三种构造方法

  • File(File parent, String child)
  • 根据父路径文件对象和子路径字符串创建文件对象
  • File(String pathname)
  • 根据文件路径名字符串创建文件对象
  • File(String parent, String child)
  • 根据父路径字符串和子路径字符串创建文件对象
public class FileDemo02 {
	public static void main(String[] args){
		// 创建文件对象并关联文件:相对路径
		File f1 = new File("aaa.txt");
		// 创建文件对象并关联文件:绝对路径
		File f2 = new File("c:/bbb/ccc/aaa.txt");
		System.out.println(f1);
		System.out.println(f2);
		// 根据父路径字符串和子路径字符串创建文件对象
		File f3 = new File("c:/bbb/ccc","c.png");
		File f4 = new File("c:/bbb/ccc/c.png");
		System.out.println(f3);
		System.out.println(f4);
		// 根据父路径文件对象和子路径字符串创建文件对象
		File f5 = new File(new File("c:/bbb/ccc"), "c.png");
		System.out.println(f5);
	}
}

方法

public String getAbsolutePath()
* 获得绝对路径字符串
public String getPath()
* 获得创建文件对象时指定的路径字符串
public String getName()
* 获得文件名或文件夹名称
public long length()
* 获得文件大小,单位是:字节
* 注意:只能获得文件的大小,不能获得文件夹的大小。
File getParentFile()
* 获得父路径文件对象
public boolean exists()
* 判断文件或文件夹是否存在,存在则返回true,否则false
public boolean isDirectory()
* 判断是否是文件夹,是返回true,否则false
* 如果文件夹不存在,则返回false
public boolean isFile()
* 判断是否是文件,是返回true,否则false
* 如果文件夹不存在,则返回false
* public boolean createNewFile()
* 根据文件对象指定的路径创建文件
* 创建成功返回true,否则false
* 如果文件已经存在,则不创建了,返回false
* 注意:只能创建文件,不能创建文件夹
public boolean delete()
* 删除文件或文件夹
* 删除成功返回true,否则false
* 如果是文件夹,则只能删除空文件夹。
public boolean mkdir() ==> make directory
* 创建单级文件夹,如果文件夹已经存在,则不会创建了,返回false* 创建成功返回true,否则false
* 注意:只能创建文件夹,不能创建文件
public boolean mkdirs()
* 创建多级文件夹,如果父文件不存在,则会先创建父文件夹
* 如果文件夹已经存在,则不会创建了,返回false* 创建成功返回true,否则false
* 注意:只能创建文件夹,不能创建文件``
* public String[] list()
* public File[] listFiles()
* 获取文件夹下所有的文件,返回文件数组
* 如果文件对象关联的是普通文件不是文件夹则返回值为null
* * static String pathSeparator
* 与系统有关的路径分隔符
* 不同的操作系统,分隔符不一致。
* mac和linux系统是 :
* windows系统是 ;
static String separator
* 与系统有关的名称分隔符。
* 不同的操作系统,分隔符不一致。
* mac和linux系统是 /
* windows系统是 \