目录
1 属性
2 构造方法
3 常用方法
4 示例代码
1 属性
修饰符与类型 | 属性 | 含义 |
static String | pathSeparator | 依赖于系统的路径分隔符,String类型的表示 |
static char | pathSeparator | 依赖于系统的路径分隔符,char类型的表示 |
2 构造方法
构造方法 | 含义 |
File(File parent, String child) | 创建File对象,依据父目录的File对象+子文件的字符串创建 |
File(String parent, String child) | 创建File对象,依据父目录的字符串+子文件的字符串创建 |
File(String pathname) | 创建File对象,依据文件路径字符串创建 |
3 常用方法
返回值 | 方法名 | 含义 |
String | getParent() | 返回父目录文件路径 |
String | getName() | 返回文件名 |
String | getPath() | 返回文件路径 |
String | getAbsolutePath() | 返回绝对路径(把文件相对路径和工作路径拼接) |
String | getCanonicalPath() | 返回修饰过的绝对路径(上一个方法的路径可能有冗余信息,修饰过的路径不含冗余信息) |
boolean | exists() | 判断文件是否存在 |
boolean | isDirectory() | 判断是否是目录 |
boolean | isFile() | 判断是否是文件 |
boolean | createNewFile() | 创建路径对应的文件 |
boolean | delete() | 删除文件 |
void | deleteOnExit() | 程序运行结束时删除文件 |
String[] | list() | 返回目录下所有文件名 |
File[] | listFiles() | 返回目录下所有文件的File对象 |
boolean | mkdir() | 创建目录 |
boolean | mkdirs() | 创建多级目录 |
boolean | renameTo(File dest) | 文件重命名 |
boolean | canRead() | 判断文件是否可读(权限) |
boolean | canWrite() | 判断文件是否可写(权限) |
4 示例代码
public class FileOp {
public static void main(String[] args) throws IOException {
// //绝对路径
// File file = new File("D:/test/testfile.txt");
// //相对路径1:./当前文件或目录==工作路径+相对路径
// File file = new File("./testfile.txt");
//相对路径2:直接当前文件或目录==工作路径+相对路径
File file = new File("testfile.txt");
System.out.println("========File对象信息获取========");
System.out.println(file.getParent());
System.out.println(file.getName());
System.out.println(file.getPath());
System.out.println(file.getAbsolutePath());//这里的绝对路径=工作路径+相对路径(File对象表示的路径包含./)
System.out.println(file.getCanonicalPath());//这里的绝对路径=工作路径+相对路径(去除掉冗余的./)
System.out.println("========文件创建========");
System.out.println(file.exists());//File对象的路径和是否存在对应的文件无关
System.out.println(file.isDirectory());
System.out.println(file.isFile());
System.out.println(file.createNewFile());//路径对应的文件不存在就创建,否则不创建返回false
System.out.println(file.exists());
System.out.println(file.isDirectory());
System.out.println(file.isFile());
System.out.println(file.createNewFile());
System.out.println("========文件删除========");
System.out.println(file.delete());
System.out.println(file.exists());
System.out.println(file.createNewFile());
System.out.println(file.exists());
file.deleteOnExit();//延时到程序结束删除,没有返回值,不能被打印
System.out.println(file.exists());//此时文件还是存在,结果应该是true
System.out.println("========目录创建========");
File file1 = new File("test");
System.out.println(file1.exists());
System.out.println(file1.isDirectory());
System.out.println(file1.isFile());
System.out.println(file1.mkdir());
System.out.println(file1.exists());
System.out.println(file1.isDirectory());
System.out.println(file1.isFile());
System.out.println(file1.delete());
System.out.println(file1.exists());
System.out.println("========多级目录创建========");
file1 = new File("test/testdemo");
System.out.println(file1.exists());
System.out.println(file1.isDirectory());
System.out.println(file1.isFile());
System.out.println(file1.mkdir());//mkdir中间路径不存在,不能创建多级目录
System.out.println(file1.exists());
System.out.println(file1.mkdirs());//mkdirs创建多级目录
System.out.println(file1.exists());
System.out.println(file1.isDirectory());
System.out.println(file1.isFile());
System.out.println("========文件重命名========");
File file2 = new File("newTest.txt");//新文件名对应的文件必须不存在
System.out.println(file.exists());
System.out.println(file2.exists());
System.out.println(file.renameTo(file2));
System.out.println(file.exists());
System.out.println(file2.exists());
}
}
代码运行结果如下:
下篇文章:
文件操作与IO—文件读写https://blog.csdn.net/sniper_fandc/article/details/146882239?fromshare=blogdetail&sharetype=blogdetail&sharerId=146882239&sharerefer=PC&sharesource=sniper_fandc&sharefrom=from_link