文件(文件):文件和目录路径名的抽象表示形式。
绝对路径和相对路径:
绝对路径:绝对路径名是完整的路径名,不需要任何其他信息就可以定位它所表示的文件。
相对路径:
在eclipse环境中写的是一个相对路径,绝对位置是工程目录。相对路径名必须使用取自其他路径名的信息进行解释。
文件中的静态静态:
//File类静态成员变量
//返回与系统有关的路径分隔符
//Win ; Linux :
String pathseparator = File.pathSeparator;
//返回与系统有关的默认分隔符
//Win \ Linux /
String separator = File.separator;
文件构造方法(三种重载):
public static void fun(){
// File(String pathname)
// pathname:
// 1)可以是文件夹 eg:c:\\123
// 2)也可以是文件 eg:c:\\123\\123.txt
// 将路径封装成File类型的对象
//不对路径是否存在进行判断
File file = new File("写路径名");
}
public static void fun1(){
// File(String parent,String child)
// 需要传递路径的父路径(上一层),和子路径(下一层)
File file = new File("d","eclipse");
}
public static void fun2(){
// File(File parent,String child)
// 需要传递路径的父路径(上一层),和子路径(下一层)
File file = new File("d:");
File file1 = new File(file,"sss");
}
File,对文件或文件夹的增删操作
//创建一个文件
public static void fun() throws IOException {
File file = new File("d:\\a.txt");
//如果文件已经存在 便不在创建,只能创建文件不能创建文件夹
boolean createNewFile = file.createNewFile();
System.out.println(createNewFile);
}
//创建一个文件夹
public static void fun1() throws IOException {
File file = new File("d:\\aaa");
//如果文件已经夹存在 便不在创建,不能用来创建文件
boolean b = file.mkdir();
//创建多级文件夹
File file1 = new File("d:\\aa\\bb\\cc");
boolean b1 = file1.mkdirs();
//推荐使用mkdirs 可以创建一级或多级文件夹
}
//删除文件或者文件夹
public static void fun2(){
File file = new File("d://aaa");
//可以删除文件夹 也可以删文件夹
//直接删除,不去回收站
boolean delete = file.delete();
}
//获取文件或者文件夹的名称
public static void fun3(){
//获取文件最深路径的名字
//不判断文件是否存在,文件路径错误也会返回
//相当于直接切割file里面的路径名
//此方法意义不大
File file = new File("d:\\aaa");
String name = file.getName();
//和toString 返回结果一样
file.getPath();
}
File,对文件的路径操作
//获取文件的字节数
public static void fun4(){
File file = new File("d:\\java算法练习.doc");
long length = file.length();
}
//获取绝对路径名
public static void fun5(){
//String getAbsolutePath()
//File getAbsoluteFile()
//返回结果一样 但是一个String类型,一个是File类型
File file = new File("aaa");
File absoluteFile = file.getAbsoluteFile();
}
//获取父路径
public static void fun6(){
//getParent()
//getParentFile()
//返回结果一样 但是一个String类型,一个是File类型
File file = new File("d:\\aaaa\\bbbbb");
File parentFile = file.getParentFile();
System.out.println(parentFile);
//打印结果 d:\aaaa
//也算是字符串切割,文件存不存都会返回
}
//判断路径是否存在
public static void fun(){
//可以判断绝对路径和相对路径
//如果是相对路径,那它的父路径是工程的路径
File file = new File("src");
boolean exists = file.exists();
System.out.println(exists);
}
//判断file里面的路径是否是文件夹
public static void fun1(){
//如果是相对路径,那它的父路径是工程的路径
File file = new File("src");
if(file.exists()){
boolean directory = file.isDirectory();
System.out.println(directory);
}
}
File,对文件和文件夹中的内容操作
//获取文件夹中所有文件和文件夹名称(所以的,包括隐藏的)
public static void fun(){
File file = new File("D:\\aaa");
String[] list = file.list();
}
//获取文件夹中所有文件和文件夹名称(返回值是File对象)
//返回了的目录或者文件全名
public static void fun1(){
File file = new File("D:\\aaa");
File[] listFiles = file.listFiles();
}
//获取系统中的所有根目录
public static void fun2(){
File[] listRoots = File.listRoots();
}