gpt4 book ai didi

java - 传递输入流?

转载 作者:行者123 更新时间:2023-12-02 11:41:17 25 4
gpt4 key购买 nike

我正在使用 javax.mail 阅读电子邮件附件
我希望能够将附件从一个类传递到另一个类
我正在阅读附件 部分.getInputStream();

其他类使用输入流作为输入
我正在争论应该创建

AttachmentClass
inputStream

或者

AttachmentClass
byte[]

我知道传递InputStream可能会导致泄漏并指向不属于您的其他对象,而字节数组将是实际的对象。

第一个选项非常简单:

AttachmentClass.setAttachment( part.getInputStream())
NextClass.doSomething(AttachmentClass)
NextClass.doSomething(AttachmentClass)

第二个选项需要多次从 InputStream 转换为字节,反之亦然

AttachmentClass.setAttachment(convertToByte(part.getInputStream()))
NextClass.doSomething(ConvertToInputStream(AttachmentClass))
NextClass.doSomething(ConvertToInputStream(AttachmentClass))

传递InputStream的正确方法是什么?

最佳答案

只要您记得关闭 NextClass 中的 InputStream,第一个选项就可以。当您将 InputStream 对象转换为 byte 数组时,第二个选项中的转换没有实际意义,只是在调用它时将其转换回 InputStream第二堂课。如果您可以在 NextClass 中以 byte 数组形式处理附件,那么第二个选项是值得的。

关于java - 传递输入流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48524973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com