(一)
IO流:使用来传输数据的方式
IO流的分类
字节流
InputStream
OutputStream
字符流
Reader
Writer
(声明:上图来源宜春)
IO体系
(二)
File类
每个File类的对象表示一个磁盘文件或目录
一下介绍一些构造方法和成员方法
构造方法演示:(现在d盘下有目录123,目录中包含一个文档)
package File;
import java.io.File;
//将d盘下的D:\123\1.txt封装成File类的对象
public class Test {
public static void main(String[] args) {
//方式一:根据字符串的形式的路径获取File对象
File file1 = new File("D:\\123\\1.txt");
System.out.println(file1);
//方式二:根据字符串形式的父目录以及子目录获取File对象
File file2 = new File("D:/123","1.txt");
System.out.println(file2);
//方式三:根据父目录对象,以及字符串形式的子目录来获取File对象
File file3 = new File("D:/123");
File file4 = new File(file3,"1.txt");
System.out.println(file4);
}
}
成员方法
package File;
import java.io.File;
import java.io.IOException;
//将d盘下的D:\123\1.txt封装成File类的对象
public class Test {
public static void main(String[] args) throws IOException {
//方式一:根据字符串的形式的路径获取File对象
File file1 = new File("D:\\123\\1.txt");
System.out.println(file1);
//方式二:根据字符串形式的父目录以及子目录获取File对象
File file2 = new File("D:/123","1.txt");
System.out.println(file2);
//方式三:根据父目录对象,以及字符串形式的子目录来获取File对象
File file3 = new File("D:/123");
File file4 = new File(file3,"1.txt");
System.out.println(file4);
System.out.println("---------------");
System.out.println("创建功能");
//在D中创建文档2.txt;
File file5 = new File("D:/2.txt");
boolean flag = file5.createNewFile();
System.out.println(flag);
//在D盘创建文件夹a
File file6 = new File("D:/a");
boolean flag2 = file6.mkdir();
System.out.println(flag2);
//创建多级文件夹,D:/a/b/c
File file7 = new File("D:/a/b/c");
boolean flag3 = file7.mkdirs();
System.out.println(flag3);
System.out.println("---------------");
//判断功能
System.out.println("测试判断功能");
File file8 = new File("D/a/b");
System.out.println("是否为文件夹:"+file8.isDirectory());
System.out.println("是否是文件:"+file8.isFile());
System.out.println("是否存在:"+file8.exists());
}
}
成员方法二
package File;
import java.io.File;
public class Test2 {
public static void main(String[] args) {
File file1 = new File("lib/1.txt");
//获取file1的绝对路径
String flag1 = file1.getAbsolutePath();
System.out.println(flag1);
//获取file1的相对路径
String flag2 = file1.getPath();
System.out.println(flag2);
//获取文件名
/*String name = file1.getName();
System.out.println(name);*/
System.out.println("-------------");
//获取lib目录下的所有文件的,名称数组String[];
File file10 = new File("lib");
String[] names = file10.list();
for (String name : names) {
System.out.println(name);
}
//获取lib下的文档
File[] files = file10.listFiles();
for (File file : files) {
System.out.println(file);
}
}
}