File类_1
IO流
定义
输入流(input):从数据源到程序的操作
输出流(output):从程序到目的地的操作
按照处理数据的单元分
-
字符流:以字符为单位获取数据,命名上以Reader/Writer 结尾的流一般是字符流吗,顶级类为Reader、Writer。
-
字节流:以字节为单位获取数据,命名上一Stream结尾的流一般是字节流,顶级类为InputStream、OutputStream
按照处理对象不同分类
-
节点流:可以从数据源或目的地读写数据,如 FileInputStream、FileReader等。
-
处理流:不直接连接到数据源或目的地,是”处理流的流“。通过对其他流的处理提高程序的性能,如BufferedInputstream、BufferedReader等,处理流也叫包装流。
-
节点流处于IO操作的第一线,所有操作必须经过他们进行;处理流可以对节点流进行包装,提高性能或提高程序的灵活性。
file类的构造方法
-
静态变量为 文件路径或文件名
File file = new File("路径名");
system.out.println(file) -
静态变量为父路径和子路径(父路径和子路径合为一个字符串 )
File file = new File("父路径"+"子路径");
system.out.println(file)
-
静态变量为父File和子路径(优点为可以对父路径做一些方法操作)
File parent = new File("路径名");
File file = new File(parent+"子路径");
system.out.println(file)
File类获取功能的方法
-
Public String getAbsolutePath() 返回该file绝对路径名字符串
-
Public String getPath() 将此file转换为路径名字符串
-
Public String getName() 获取此file代表的结尾的目录名或文件名
-
Public Long length() 返回此file表示文件的大小,以字节为单位
public class TestIO {
public static void main(String[] args) {
show01();
}
private static void show01() {
File file = new File("D:\\java\\a.txt");
//- Public String getAbsolutePath() 返回该file绝对路径名字符串
System.out.println(file.getAbsoluteFile());
//- Public String getPath() 将此file转换为路径名字符串
System.out.println(file.getPath());
//- Public String getName() 获取此file代表的目录名或文件名
System.out.println(file.getName());
//- Public Long Length() 返回此file表示文件的长度
System.out.println(file.length());
}
}
结果为
D:\java\a.txt
D:\java\a.txt
a.txt
0
File类中判断功能的方法
-
Public boolean exists() 判断此File是否存在
-
Public boolean isDirectory() 判断此File是否为目录
-
Public boolean isFile() 判断此File是否为文件
public class TestIO02 {
public static void main(String[] args) {
show01();
}
private static void show01() {
File file = new File("E:\\java\\a.txt");
//- Public boolean exists() 判断此File是否存在
System.out.println(file.exists());
//- Public boolean isDirectory() 判断此File是否为目录
System.out.println(file.isDirectory());
//- Public boolean isFile() 判断此File是否为文件
System.out.println(file.isFile());
}
}
输出结果:
true
false
true
创建和删除目录文件的方法
-
Public boolean createNewFile() 当且仅当具有该名称的文件尚不存在时,创建一个该名称的空文件
-
Public boolean delete() 删除该名称的文件或目录
-
Public boolean mkdir() 创建此file代表的目录
-
Public boolean mkdirs() 创建此file代表的目录,包括任何必须但不存在的父目录
public static void main(String[] args) throws IOException {
show();
}
private static void show() throws IOException {
File file = new File("E:\\java\\java01");
//检测该文件夹是否存在
System.out.println(file.exists());
if (file.exists()==false){
System.out.println(file.mkdir());
}
//检测该文件是否存在
File f2 = new File(file,"b.txt");
if (f2.exists()==false){
System.out.println("该文件不存在正在创建..."+f2.createNewFile());
}
//文件创建了,尝试删除
System.out.println(f2.delete());
if (f2.exists()==false){
System.out.println("该文件已经被删除!");
}
}
输出结果:
true
该文件不存在正在创建...true
true
该文件已经被删除!
File类遍历目录功能
-
public String[] list() 返回一个String数组,表示该File目录下的所有子文件和目录
-
public File[] listFiles() 返回一个File数组,表示该File目录下的所有子文件和目录
注意:
-
list()和listFile() 遍历的是构造方法中所给出的目录
-
若构造方法中的目录不存在,则会抛出一个空指针异常
-
若构造方法中的方法不是一个目录,也会抛出一个空指针异常
public class TestIO04 {
public static void main(String[] args) {
show();
}
private static void show() {
File file = new File("F:\\java\\IO流\\01 File类");
//声明一个String的数组 接收file.list()数据
String[] f1=file.list();
//输出String数组中的数据
System.out.println("输出String数组中的数据:");
for (int i = 0; i <f1.length ; i++) {
System.out.println(f1[i]);
}
//声明一个String的数组 接收file.listFiles()数据
File[] f2 = file.listFiles();
//输出File数组中的数据
System.out.println("File数组中的数据:");
for (int i = 0; i <f2.length ; i++) {
System.out.println(f2[i]);
}
}
}
输出结果:
输出String数组中的数据:
1_8_1_01_File类的概述.avi
1_8_1_02_File类的静态成员变量.avi
1_8_1_03_绝对路径和相对路径.avi
1_8_1_04_File类的构造方法.avi
1_8_1_05_File类获取功能的方法.avi
1_8_1_06_File类判断功能的方法.avi
1_8_1_07_File类创建删除功能的方法.avi
1_8_1_08_File类遍历(文件夹)目录功能.avi
File数组中的数据:
F:\java\IO流\01 File类\1_8_1_01_File类的概述.avi
F:\java\IO流\01 File类\1_8_1_02_File类的静态成员变量.avi
F:\java\IO流\01 File类\1_8_1_03_绝对路径和相对路径.avi
F:\java\IO流\01 File类\1_8_1_04_File类的构造方法.avi
F:\java\IO流\01 File类\1_8_1_05_File类获取功能的方法.avi
F:\java\IO流\01 File类\1_8_1_06_File类判断功能的方法.avi
F:\java\IO流\01 File类\1_8_1_07_File类创建删除功能的方法.avi
F:\java\IO流\01 File类\1_8_1_08_File类遍历(文件夹)目录功能.avi -
-

浙公网安备 33010602011771号