File类
面试题:
1,File类获取名称,方法
2,File类获取绝对路径
3,File类文件大小的方法
4,说出IO流的分类和功能
5,能够使用字节输出流写出数据到文件上
一,File类的概述:
File 类
1.1 概述 java.io.File 是文件和目录路径名的表示 主要用于文件和目录的创建 查找 删除等操作
| `**File**(File parent, String child)` 根据 parent 抽象路径名和 child 路径名字符串创建一个新 `File` 实例。 |
| ------------------------------------------------------------ |
| `**File**(String pathname)` 通过将给定路径名字符串转换为抽象路径名来创建一个新 `File` 实例。 |
| `**File**(String parent, String child)` 根据 parent 路径名字符串和 child 路径名字符串创建一个新 `File` 实例。 |
是java.io.File是文件和目录路径名的表示,主要用于文件和目录的创建,删除,查找
File创建文件,文件夹,删除获取 对文件进行遍历,获取文件大小
平时我们在键盘录入:或者的时候都是直接输入,但是在java程序中,我们不是这样的
下面通过两个例子来展示:
public class Demo03File { public static void main(String[] args) { //Windosw ; Linux : String pathSeparator = File.pathSeparator; System.out.println(pathSeparator); //Windosw Linux / String separator = File.separator; System.out.println(separator); } }
总结:
上面已经注释过了:
pathSeparator静态属性调用的时候,在Windows系统下显示的是;在Linux系统中显示的是:
separator静态属性调用的时候,在Windows系统下现实的是在Linux系统中显示的是/
1.2 构造方法
private static void show01(){ File file = new File("D:\IDeaworkspace"); System.out.println(file); } private static void show02(String parent,String child){ File file = new File(parent,child); System.out.println(file); } private static void show03(){ File parent = new File("D:\"); File file = new File(parent,"a.txt"); System.out.println(file); }
1.3File的方法:
getAbsolutePath(); 返回路径
getpath(); 将File转成字符串
getName(); 返回文件或者路径的名称
length(); 文件的长度,大小
public class Demo02File { public static void main(String[] args) throws IOException { show03(); } private static void show01() throws IOException { File f = new File("D:\IDeaworkspace\a.txt"); boolean newFile = f.createNewFile(); System.out.println(newFile); } private static void show02(){ File f = new File("D:\IDeaworkspace\a.txt"); boolean delete = f.delete(); System.out.println(delete); } private static void show03(){ File f = new File("D:\IDeaworkspace\a.txt"); File f1 = new File("D:\IDeaworkspace\ruirui\bobo\11\22\a.txt"); boolean mkdir = f.mkdir(); boolean mkdirs = f1.mkdirs(); System.out.println(mkdir); System.out.println(mkdirs); } }
1.4创建和删除
creatNewFile(); 创建空文件 不能创建文件夹
delete(); 删除
mkdir(); 创建对象
mkdirs(); 多层创建对象
1.5遍历
list(); 返回字符串数组,表示该目录下所有文件
listFiles(); 返回file的数组,表示该目录下的所有子文件
public class Demo05File { public static void main(String[] args) throws IOException { show01(); } //创建文件,当文件已经存在的时候不再创建 private static void show01() throws IOException { File file = new File("d:\1.txt"); boolean newFile = file.createNewFile(); System.out.println(newFile); } //创建目录 mkdir创建单层目录 mkdirs创建多层目录 private static void show02(){ File file = new File("D:\IDeaworkspace"); boolean mkdir = file.mkdir(); System.out.println(mkdir); File file1 = new File("D:\IDeaworkspace\ruirui\dd\11\22"); boolean mkdirs = file1.mkdirs(); System.out.println(mkdirs); } //删除 private static void show03(){ File file = new File("D:\IDeaworkspace\bobo\dd"); boolean delete = file.delete(); System.out.println(delete); } }