DataInputStream(简称Data)和FileInputStream(简称File)两者都是inputStream的子类,但是他们的父类不同,Data的父类是FilterInputStream,而File的父类是inputStream,形象一点也就是说,Data的爷爷才是File的爸爸,File中的方法针对读取文件,并把文件的字符内容以数据流的形式读取到内存中便于进行进一步处理,这个过程中涉及到流的封装,例如:DataInputStream in = new DataInputStream(new FileInputStream( "J***a2s.txt"));使用File来加载一个文件,然后使用Data对File进行封装。
但是如果要写入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.***ailable()];input.read(byt);
2、将byte数组转换为InputStream:byte[] byt = new byte[***];InputStream input = new ByteArrayInputStream(byt);
3、将byte数组转换为File:File file = new File('');OutputStream output = new FileOutputStream(file);BufferedOutputStream bufferedOutput = new BufferedOutputStream(output);bufferedOutput.write(byt);