业务描述
项目开发中,把较小的文本文件直接用BLOB
数据类型存到了MySQL中
获取时得到的是流对象,需要转换为对应的.txt
文件输出到磁盘中
实现
流对象说白了就是一堆进制码,并不支持和文件的直接转换,因为流本身并不知道文件的类型
实现思路:
先使用File创建出一个对应的文件,指定好类型,把流对象输入文件中,判断为-1则表示输入完成
@Test
public void test01() throws Exception{
InputStream input = //获取流
File file= new File("d:/test.txt");
copyInputStreamToFile(input,file);
input.close();
}
/**
* 流输出到文件的方法
*/
private static void copyInputStreamToFile(InputStream inputStream, File file) throws IOException {
try (FileOutputStream outputStream = new FileOutputStream(file)) {
int read;
byte[] bytes = new byte[1024];
while ((read = inputStream.read(bytes)) != -1) {
outputStream.write(bytes, 0, read);
}
}
}