输入流:文件 --->程序
输出流:程序---->文件
Java中的四种抽象流:
输入流:InputStream(字节输入流) Reader(字符输入流)
输出流:OutputStream(字节输出流) Writer(字符输出流)
区别:
字符流常用语操作文本文件,对于图像、音视频等文件,则只能用字节流。
操作流的步骤:
1)得到IO操作的源或目标
2)得到IO操作的通道
3)进行IO操作
4)关闭IO
OutputStream:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class OuputStreamDemo {
public static void main(String[] args) throws IOException {
//1.找到流的目标
File file = new File("d:/Test/test.txt");
//2.创建输出流的管道,并连接上目标
OutputStream os = new FileOutputStream(file);
//3.输入输出
//字节输出流只能一个一个直接的写数据
os.write('\n');
for (int i = 0; i < 20; i++) {
os.write(i);
}
String str = "hello,world";
byte[] b = str.getBytes();
os.write(b);
//4.关闭操作
os.close();
}
}
InputStream:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class InputStreamDemo {
public static void main(String[] args) throws IOException {
File file = new File("D:/Test/笔记.txt");
InputStream is = new FileInputStream(file);
byte[] buff = new byte[1024];
int len = 0;
while((len=is.read(buff))!=-1){
String str = new String(buff,0,len);
System.out.println(str);
}
//中文会乱码,中文是双字节,英文为单字节
is.close();
}
}