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自动生成,仅供参考