- File
流
常用方法
流
什么是流?
流是指一串流动的字符,是以先进先出的方式发送信息的通道(InputStream读入---->OutputStream写出)
流的分类
输入/输出流
输入流(读):把文件中的数据读取到程序中 InputStream
输出流(写):把程序的数据保存写出到文件中 OutputStream
当然了,输入输出又分为字节和字符
字节
字节:一个英文字母,数字,符号在内存中占一个字节的空间
字符:一个汉字在内存当中占一个字符的空间
PS:(1字符=2字节)
字节输入流:InputStream
字节输出流:OutputStream
字符输出流:Writer
字符输入流:Reader
这里怎么理解怎么记的话,我先大概说一下自己是怎么记得
首先,我们得知道流分为输入/输出,所谓输入就是进入,而在流和文件中,我们先把程序当成“中心”,输入就相当于把你要传入给“中心”的数据通过先进先出的方式传入进去。而处理单元有字符和字节,既然要输入,则字符和字节都要有,上面说的InputStream则是字节输入流,字符输入流则为“读”的英文Reader,就是我理解的“读入,写出”,按这种理解的话,就很方便记住
读入:读—>reader 入—>InputStream
写出:写—>writer 出—>OutputStream
以上的四种是基本流(抽象类)
常用方法
1.boolean exists():判断文件或者目录是否存在
// 判断文件是否存在 不存在则新建文件
// 创建file对象
File file = new File("E:/ll.txt");
if (file.exists()) {
System.out.println("文件已经存在!");
} else {
// 新建文件
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
2.Boolean isFile():判断是否是文件
// 判断此路径属性文件还是文件夹
if (file.isFile()) {
System.out.println("此路径是文件格式!");
} else {
System.out.println("此路径不是文件格式!");
}
3.boolean isDirectory():判断是否是目录
// 判断此路径属性文件还是文件夹
if (file.isDiectroy()) {
System.out.println("此路径是文件夹!");
} else {
System.out.println("此路径不是文件夹格式!");
}
4.String getPath():获取相对路径
System.out.println("文件相对路径:" + file.getPath());
5.String getAbsolutePath():获取绝对路径
System.out.println("文件绝对路径:" + file.getAbsolutePath());
6.String getName():返回对象的文件/目录名
System.out.println("文件名:" + file.getName());
7.boolean delete():删除对象的文件/目录
if (file.exists()) {
file.delete();
System.out.println("文件删除成功!");
}else{
System.out.println("未找到文件!");
}
8.boolean createNewFile():创建新的文件,不创建文件夹
9.long length():返回文件的长度,单位字节/字符 如果不存在则返回0L
System.out.println("文件大小:" + file.length() + "字节");
10.isHidden():判断文件/目录是否隐藏
// 判断文件是否属于隐藏文件
if (file.isHidden()) {
System.out.println("隐藏");
}else{
System.out.println("未隐藏");
}
11.mkdir():创建单层目录
//创建文件夹
File file1=new File("E:\\123/789");
//判断是否文件
if (file1.exists()) {
System.out.println("文件夹已存在!");
}else{
file1.mkdirs();
}
12.mkdirs():同时创建多及目录