I/O 实际上是input和output,也就是输入和输出。而流其实是一种抽象的概念,它表示的是数据的无结构化传递,那么按照流的方式输入输出数据会被当作无结构的字节序列和字符序列,那么从流中取得数据的操作称为输入,从流中添加数据写入数据称为输出。
对于流的概念我们可以把他想象成水流,我们可以通过IO操作在应用程序和磁盘当中建立一个管道。输入的操作就是不断的通过管道把字符或者字节读取到内存,而输出就是基于这个管道把字符或者字节写入到磁盘
两者区别:字节流可以处理所有的数据文件但是字符流只限于处理文本数据。字节流的使用范围更广
IO流的应用场景
在Java中I/O流操作的类很多,但是核心体系实际上就只有五个
File:操作文件
InputStream:输入流
OutputStream:输出流
Reader:字符输入流
Writer:字符输出流
- 字节流:操作的数据单元是8位的字节。InputStream、OutputStream 作为抽象基类。
- 字符流:操作的数据单元是字符。以Writer、Reader作为抽象基类。
两者区别:字节流可以处理所有的数据文件但是字符流只限于处理文本数据。字节流的使用范围更广
public class FileInputStreamDemo {
public static
void main(String[] args) {
//固定的写法
FileInputStream
fileInputStream = null;
try {
fileInputStream =new FileInputStream("F:/test.txt");
int i =0;
while ((i =
fileInputStream.read()) != -1) {
System.out.print((char) i);
}
} catch (FileNotFoundException
e) {
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
原文:https://www.cnblogs.com/liyaolog/p/12845627.html