文章目录
IO知识点
1、File 类
2、IO体系
3、输入字节流 InputStream 输出字节流 OutputStream
输入字符流 Reader 输出字符流 Writer
4、转换流,缓冲流,对象流
5、序列化和反序列化
6、RandomAccessFile
7、IO涉及的设计模式:装饰器模式和适配器模式
File类
File类是对文件系统中的文件和文件夹进行封装的对象。
1、相对路径和绝对路径
绝对路径:带有前缀的字符串(盘符) Windows:d:\ Linux:/
相对路径:不带盘符 ./test.test1.txt 当前路径 “.” 父路径“…”
2、File类的构造函数
1)File (String pathname)
File file = new File("C:\\Users\\Administrator\\Desktop");
//获取路径
String absolutePath = file.getAbsolutePath();
System.out.println(absolutePath );
2)File(String parent ,String child)
parent:父目录 child:子目录
String parent="C:\\Users\\Administrator\\Desktop";
String child="java图论刘老师作业";
File file2 = new File(parent, child);
System.out.println(file2 .getAbsolutePath() );
3)File(File parent ,String child)
File file3 = new File(file, child);
System.out.println(file3 .getAbsolutePath() );
3、常用方法
//String getAbsolutePath() 获取文件的全路径
//boolean exit() 判断文件或者是目录是否存在 true :存在 false:不存在
//boolean isFile()判断是文件还是目录 true:文件 false:非文件
//Boolean isDirectory() 判断是文件还是目录 true:目录 false:非目录
//String getName() 返回的是文件名或者是目录名 返回的是分隔符最后内容
//String getPath() 返回的是文件或者目录的路径 分隔符前面
//long length() 返回文件的长度
//String [] list() 将目录中所有文件名保存在字符串数组中返回
//File[] listFiles() 将目录中所有文件名保存在File数组中返回
//String[] list(FilenameFilter filter ) 获取特定规则的目录或文件
4、打印文件(文件过滤器)
String []list =file .list() ;//打印出桌面的所有内容(此时file是new File("C:\\Users\\Administrator\\Desktop"))
for(int i=0;i<list .length ;i++){
System.out.println(list [i]);
}
这样可以打印出桌面上所有的文件及目录
那么如果只想打印文件时,需要借助文件过滤器FilenameFilter
/**
* interface FilenameFilter 接口
* 提供了accept方法
* true 符合条件返回, false 不符合条件不返回
*/
FilenameFilter filenameFilter = new FilenameFilter() {
@Override
public boolean accept(File dir,String name){
File file4 =new File(dir ,name);
return file4 .isFile() ;
}
};
String []list1 =file .list(filenameFilter ) ;//打印出桌面的所有文件
for(int i=0;i<list1 .length ;i++){
System.out.println(list1 [i]);
}
文件类的知识学习先到这里,下个博客会写两道java实例题。