IO流
(1)IO用于在设备间进行数据传输的操作
(2)分类:
A:流向
输入流 读取数据
输出流 写出数据
B:数据类型
字节流
字节输入流InputStream
字节输出流OutputStream
字符流
字符输入流Reader
字符输出流Writer
(3)FileOutputStream写出数据
A:操作步骤
a:创建字节输出流对象
b:调用write()方法
c:释放资源
B:代码体现:
FileOutputStream fos = new FileOutputStream(“fos.txt”);
fos.write(“hello”.getBytes());
fos.close();
C:要注意的问题
a:创建字节输出流对象做了几件事情?
A:调用系统功能去创建文件
* B:创建fos对象
* C:把fos对象指向这个文件
b:为什么要close()?
让流对象变成垃圾,这样就可以被垃圾回收站回收
通知系统释放该文件相关资源
c:如何实现数据的换行?
将换行符写入 即.getBytes()
d:如何实现数据的追加写入?
FileOutputStream=new FileOutputStream("文件",true);
(4)FileInputStream读取数据
A:操作步骤
a:创建字节输入流对象
b:调用read()方法
c:释放资源
B:代码体现:
FileInputStream fis = new FileInputStream("fos.txt");
//方式1
int by = 0;
while((by=fis.read())!=-1) {
System.out.print((char)by);
}
//方式2
byte[] bys = new byte[1024];
int len = 0;
while((len=fis.read(bys))!=-1) {
System.out.print(new String(bys,0,len));
}
fis.close();
(5)
A:复制文本文件
public class CopyFile{
public static void main(String[] args){
FileOutputStream fos=new FileOutputStream("");
FileInputStream fis=new FileInputStream("");
int bys=0;
while((bys=fis.read()!)=-1){
fos.write(bys);
}
fis.close();
fos.close();
}
}
缓冲输出流:BufferOutputStream()
缓冲输入流:BufferInputStream();