1. InputStream 转 OutputStream
我所了解的InputStream 转 OutputStream 有两种:
- 使用原生代码的方式
* 网上一查一大把,我这里就不介绍了- 使用 commons-io 工具包
* 介绍这种方法
* 使用commons-io 中的:
*IOUtils.copy(InputStream input, OutputStream output)
使用commons-io 中的:
IOUtils.copy(InputStream input, OutputStream output)
使用commons-io 中的:
IOUtils.copy(InputStream input, OutputStream output)
使用commons-io 中的:
IOUtils.copy(InputStream input, OutputStream output)
上面的就已经够了,下面为具体实例。没啥看的。
1.1 使用文件拷贝为例
InputStream 转 OutputStream 我以文件的拷贝为例, 先使用InputStream 把文件读到内存,然后使用 OutputStream 将文件写回磁盘。中间涉及到了InputStream and OutputStream 之间的转换。
当然 InputStream 与 OutputStream 的转换不只是适用与这个场景。
1.1.1 前期准备
- 文件的准备
- 文件的内容
1.1.2 导入坐标
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.2</version>
</dependency>
1.1.3 编写代码
注意: Java7 以上可用, 会自动关闭资源,如果你不是用的这个,记得关闭资源。
public static void main(String[] args) {
try(
//1. 输入流
InputStream inputStream = new FileInputStream("D:\\MyDocuments\\java\\pojects\\temp\\textFile.txt");
//2. 输出流
OutputStream outputStream = new FileOutputStream("D:\\MyDocuments\\java\\pojects\\temp\\textFileCopy.txt"))
{
//3. 转换
IOUtils.copy(inputStream, outputStream);
} catch (Exception e) {
e.printStackTrace();
}
}