outputStream到底是输出流还是输入流?byte[]数组如何转换成fileInputStream?
outputStream到底是输出流还是输入流?
outputStream的字面意思是输出流 其实就是按照字面的理解,把你的项目当做一个平台,你的项目加入要用键盘输入一个值 是不是就是输入到你的项目里,就是inputStream 你要打印文件,是不是要将你的东西从项目里输出到打印机,就是outputstream 你不能弄错参照点,所有的输入输出,的参照点是你的项目,而不是其他的文件。 outputStream: OutputStream是计算机语言,作用是为"破坏器"类提供一个基础类。 根据写数据的方式不同,OutputStream主要分成两类;一类是写给人看的,一类是供DataInputStream用的。虽然RandomAccessFile的数据格式同DataInputStream和DataOutputStream的相同,但它不属于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是带缓冲区的输出流,能够提高文件的写入效率。