InputStream.transferTo() 是 Java 9 引入的一个新方法,它允许你将 InputStream 的内容直接传输到另一个 OutputStream,无需将内容先缓存到内存中。
如果你正在使用 JDK 8,你将不能直接使用 transferTo() 方法。但是,你可以使用传统的方法将内容从 InputStream 传输到 OutputStream。以下是一个简单的示例代码:
java
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class InputStreamTransfer {
public static void transfer(InputStream inputStream, OutputStream outputStream) throws IOException {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
inputStream.close();
outputStream.close();
}
public static void main(String[] args) {
// 假设你已经有了 InputStream inputStream 和 OutputStream outputStream
// 你可以像这样调用 transfer 方法
try {
transfer(inputStream, outputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个示例中,transfer() 方法创建了一个缓冲区,并从 InputStream 中读取数据,然后写入到 OutputStream。读取完成后,关闭了流以释放资源。这是在 JDK 8 中传输 InputStream 内容到 OutputStream 的通用解决方案。
提示:AI自动生成,仅供参考