方式1:使用原生代码的方式
public void readInputStream(InputStream is) throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int len ;
byte[] buffer = new byte[1024]; //缓冲区
while((len = is.read(buffer))!=-1) { //将接受的数据写入缓冲区数组buffer
baos.write(buffer,0,len); //将缓冲区buffer写入byte数组输出流
}
is.close();
baos.close();
}
方式2:使用 commons-io 工具包
使用commons-io 中的方法:IOUtils.copy(InputStream input, OutputStream output)
2.1添加依赖:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.2</version>
</dependency>
2.2编写代码:
注意: Java7 以上可用, 会自动关闭资源,如果你不是用的这个,记得关闭资源。
try(
//1. 输入流
InputStream inputStream = new FileInputStream("D:\\textFile.txt");
//2. 输出流
OutputStream outputStream = new FileOutputStream("D:\\textFileCopy.txt"))
{
//3. 转换
IOUtils.copy(inputStream, outputStream);
} catch (Exception e) {
e.printStackTrace();
}