最近在做导出文件的功能,经常需要和Inputstream以及Outputstream打交道,
关于这两个类库的概念总是比较模糊,查阅书籍之后,有了稍稍清晰的了解,
根据《JAVA编程思想一书》第18章"JAVA I/O 系统"写到:
流:
编程语言的I/O类库中经常使用流这个抽象概念,它代表任何有能力产出数据的数据源对象,或者有能力接收数据的接收端对象。
Inputstream:
用来表示从不同数据源产生输入的类,数据源包括:字节数组,String对象,文件,“管道”,流序列,Internet链接等。
Outputstream:
该类别决定了输出所要去往的目标,包括:字节数组,文件,“管道”。
这也就解释了为什么我们通过Inputstream或者Outputstream对象,
在写入或者导出文件时,新建对象的参数都可以是路径名
FileOutputStream fos = new FileOutputStream(C:\floder\demo.xlsx);
InputStream inputStream = new FileInputStream(C:\floder\demo.xlsx);