一.输入流
InputStream-->FileInputStream
构造:
1.FileInputStream(String path);
2.FileInputStream(File file);
3.作为输入流, 必须保证文件是存在的, 否则会报错
方法:
1.int read();一次读一个, 效率太低
2.int read(byte[] arr);一次最多读字节数组的长度个字节, 返回读取的有效个数
3.void close();释放资源, io调用的系统资源, 用完记得释放,否则不能操作这个文件了
二.输出流
OutputStream-->FileOutputStream
构造:
FileOutputStream(String path);
1.文件不存在则会创建, 文件存在则会清空内容
2.底层造文件使用的file.createNewFile帮你做的, 只能帮你创建文件不能帮你创建文件夹, 必须保证文件夹存在才能帮你自动创建
FileOutputStream(File file);
FileOutputStream(String path,boolean append);
1.文件不存在则会创建, 文件存在则会续写
2.底层造文件使用的file.createNewFile帮你做的, 只能帮你创建文件不能帮你创建文件夹, 必须保证文件夹存在才能帮你自动创建
FileOutputStream(File file, boolean append);
方法:
1.write(int by);一次写单个字节
2.write(byte[] arr)一次写多个字节
3.write(byte[] arr, int start, int count);一次写多个字节的一部分
4.void close();释放资源, io调用的系统资源, 用完记得释放,否则不能操作这个文件了
三.缓存字节输入和输出流(作用不大)
BufferedInputStream--->构造--->BufferedInputStream(InputStream in);
BufferedOutputStream--->构造--->BufferedOutputStream(OutputStream out);