目录
I:input输入,核心概念是读,读取外部数据
O:output输出,核心概念是写,将数据写到外部系统当中
File类
File类是对磁盘中文件或目录转换对象的包装类,一个File对象可以代表一个文件或目录。
方法
-
createFile:创建文件
-
delete:删除文件
-
exist:是否存在
-
getAbsolutePath:获取绝对路径
-
getPath:获取相对路径
-
getName:获取文件名
-
isFile:判断是否是文件
-
length:查看文件中字节数
-
isHidden:文件是否为隐藏文件
-
isDirectory:是否为目录
-
mkdir:创建目录
四大IO抽象类
InputStream:表示字节输入流的所有抽象类的父类,是一个抽象类,不可以实例化,数据的读取需要他的子类来实现,数据单元为字节
方法:
-
read:读取一个字节的数据
-
close:关闭输入流对象,释放相关资源
OutputStream:表示字节输出流的所有父类的子类
方法:
-
write:向目的地写入一个字节
-
flush:刷新
Reader:用于读取字符的字符流抽象类
Writer:用于输出的字符流抽象类
流的分类:
-
按照处理的数据单元
字节流:以Stream结尾的流,如FileInputStream,FileOutputStream
字符流:以Reader/Writer结尾的流,如FileReader,FileWriter
2. 按照处理对象不同分类
节点流:直接从数据源或目的地读写数据,如FileInputStream,FileReader,DataInputStream等
处理流:不直接连接到数据源或目的地,通过对其他流到处理提高程序的性能,如BufferedInputStream,BufferedReader等,处理流也叫包装流
FileInputStream fis = null;
FileOutputStream fos = null;
{
try {
fis = new FileInputStream("C:\\Users\\Administrator\\Desktop\\1.txt");
fos = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\2.txt");
int temp = -1;
while ((temp = fis.read()) != -1) {
fos.write(temp);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fos.flush();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}