outputStream到底是输出流还是输入流?byte[]数组如何转换成fileInputStream?

20小时前 (10:02:41)阅读1回复0
kewenda
kewenda
  • 管理员
  • 注册排名1
  • 经验值383885
  • 级别管理员
  • 主题76777
  • 回复0
楼主
  1. outputStream到底是输出流还是输入流?
  2. byte[]数组如何转换成fileInputStream?
  3. bufferoutputstream是输入流吗?

outputStream到底是输出流还是输入流?

outputStream的字面意思是输出流 其实就是按照字面的理解,把你的项目当做一个平台,你的项目加入要用键盘输入一个值 是不是就是输入到你的项目里,就是inputStream 你要打印文件,是不是要将你的东西从项目里输出到打印机,就是outputstream 你不能弄错参照点,所有的输入输出,的参照点是你的项目,而不是其他的文件。 outputStream: OutputStream是计算机语言,作用是为"破坏器"类提供一个基础类。 根据写数据的方式不同,OutputStream主要分成两类;一类是写给人看的,一类是供DataInputStream用的。虽然RandomAccessFile的数据格式同DataInputStream和DataOutputStream的相同,但它不属于OutputStream的。

byte[]数组如何转换成fileInputStream?

outputStream到底是输出流还是输入流?byte[]数组如何转换成fileInputStream?

如果必须要用FileOutputStream的话那是没有办法的,因为FileOutputStream是属于比较底层的流,所有的构造方法都与文件关联。

但是如果要写入blob中的话使用FileOutputStream却是有点儿多余的,因为像你那样写入文件读出来之后同样还是byte数组,所以可以直接使用OutputStream的write(byte[] b, int off, int len)方法,OFF开始标记一般设为0,len偏移量一般设为byte的length大小

1、将File、FileInputStream 转换为byte数组:File file = new File("file.txt");InputStream input = new FileInputStream(file);byte[] byt = new byte[input.available()];input.read(byt);

2、将byte数组转换为InputStream:byte[] byt = new byte[1024];InputStream input = new ByteArrayInputStream(byt);

bufferoutputstream是输入流吗?

BufferedInputStream是带缓冲区的输入流,默认缓冲区大小是8M,能够减少访问磁盘的次数,提高文件读取性能;BufferedOutputStream是带缓冲区的输出流,能够提高文件的写入效率。

0
回帖

outputStream到底是输出流还是输入流?byte[]数组如何转换成fileInputStream? 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息